如何使用Docker搭建支持多PHP版本的lnmp环境?
摘要:一、Docker基础 Docker安装 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。 通过 uname -r 命令查看你当前的内核版本 新版安装
一、Docker基础
Docker安装
Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。
通过 uname -r 命令查看你当前的内核版本
新版安装:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
ubuntu可以直接执行安装指令: apt install docker.io
将用户添加到docker组:sudo usermod -aG docker your_username
Docker常见命令
容器相关操作
docker create # 创建一个容器但是不启动它 例如:docker create --name mycon php:5.6-fpm
docker run # 创建并启动一个容器
-a stdin:指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d:后台运行容器,并返回容器ID;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb":为容器指定一个名称;
-P: 容器的80端口映射到主机的随机端口
-p: 容器的端口映射到主机的对应端口,例如: -p 80:80
-v: 主机的目录映射(挂载)到容器的目录,例如:-v /home/ubuntu/nginx/www:/www
-m 或 --memory:设置内存使用限额。例如 -m 200M、--memory 300M;
--memory-swap:设置内存+swap的使用限额,当-m 200M --memory-swap=300M时,表示容器可以使用200M内存和100Mswap;
--vm:启动内存工作线程数。例如:--vm 1,启动1个内存工作线程;
--vm-bytes 280M:每个工作线程分配280M内存;
-c 或 --cpu-shares:设置容器使用cpu权重;
--dns 8.8.8.8:指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com:指定容器DNS搜索域名,默认和宿主一致;
-h "mars":指定容器的hostname;
-e username="ritchie":设置环境变量;
--env-file=[]:从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2":绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge":指定容器的网络连接类型,支持 bridge/host/none/container:<name|id>四种类型;
--link=[]:添加链接到另一个容器;
--expose=[]:开放一个端口或一组端口;
docker stop # 停止容器运行,发送信号SIGTERM,例如:docker stop mycon
docker start # 启动一个停止状态的容器,例如:docker start mycon
docker restart # 重启一个容器,例如:docker restart mycon
docker rm # 删除一个容器,例如:doecker rm mycon
docker kill # 发送信号给容器,默认SIGKILL,例如:docker kill -s KILL mycon (-s表示向容器发送一个信号)
docker attach # 连接(进入)到一个正在运行的容器,例如:docker attach --sig-proxy=false mycon(容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。)
docker wait # 阻塞到一个容器,直到容器停止运行。例如:docker wait mycon
docker pause #暂停容器中所有的进程。 例如:docker pause mycon
docker unpause #恢复容器中所有的进程。
