docker 简单使用
docker基础命令
在Docker Hub上搜索镜像
docker search <镜像名>
拉取镜像
docker pull <镜像名>
查看全部镜像
docker images
查看指定镜像
docker images <镜像名>
查看容器日志
docker logs <容器名或容器ID>
列出容器
docker ps
#列出所有正在运行的容器ID
docker ps -q
#ps 参数
-q 静默模式,只显示容器编号。(运行中的容器编号)
-a 显示所有容器(包含未运行2的)
# 重启所有正在运行的容器(将上一步得到的ID替换下面的$CONTAINER_ID)
docker restart $(docker ps -q)
启动、暂停、重启 容器
docker start <容器名或id> //启动
docker stop <容器名或id> //暂停
docker restart <容器名或id> //重启
删除镜像 可一次删除多个;多个用空格分割
docker rmi <镜像名或ID>
将docker容器中的文件复制到本地
docker cp <容器名>:docker中的路径 本地路径
//nginx将常用文件复制到本地
docker cp nginx-test:/etc/nginx/nginx.conf /work/dockerfile/nginx/
docker cp nginx-test:/etc/nginx/conf.d /work/dockerfile/nginx/conf.d
docker cp nginx-test:/usr/share/nginx/html /work/dockerfile/nginx/html
docker cp nginx-test:/var/log/nginx /work/dockerfile/nginx/logs
取容器或镜像的详细信息
docker
# 查看全部信息
docker inspect <容器名或容器ID>
# 查看特定信息(例如日志地址)
docker inspect -f '{{.LogPath}}' <容器名或容器ID>
容器使用
//启动一个名为 nginx-test 的Nginx容器,并且映射了宿主机上的目录到容器内相应的路径,同时将8080端口绑定到容器的80端口
//需要注意Windows和linux本地路径需要调整
--name 为容器指定一个名称;
-p 指定端口映射,格式为:主机(宿主、本地)端口:容器端口
-v 绑定一个卷;本地路径(绝对路径):docker中的路径(绝对路径)
-d 后台运行容器,并返回容器ID
-m 设置容器使用内存最大值;-m 512m
--link 连接到另一个容器; -link <已有容器别名>
//在linux或mac
docker run --name nginx-test -p 8080:80
-v /work/dockerfile/nginx/conf.d:/etc/nginx/conf.d
-v /work/dockerfile/nginx/html:/usr/share/nginx/html
-v /work/dockerfile/nginx/logs:/var/log/nginx
-v /work/dockerfile/nginx/nginx.conf:/etc/nginx/nginx.conf
-d nginx
//在Windows
docker run --name php-nginx -p 80:80
-v C:\work\dockerfile\nginx\conf.d:/etc/nginx/conf.d
-v C:\work\dockerfile\php\www:/var/www/html
-v C:\work\dockerfile\nginx\logs:/var/log/nginx
-v C:\work\dockerfile\nginx\nginx.conf:/etc/nginx/nginx.conf
--link php7.0
-d nginx
//php
复制php配置文件到本地
docker cp php7.0:/usr/local/etc/php /work/dockerfile/php/config
docker cp php7.0:/var/log /work/dockerfile/php/
docker cp php7.0:/usr/local/lib/php/extensions/no-debug-non-zts-20151012 /work/dockerfile/php/extensions
docker run --name php7.0 -p 9000:9000
-v C:\work\dockerfile\php\config\conf.d\custom.ini:/usr/local/etc/php/conf.d/custom.ini
-v C:\work\dockerfile\php\www:/var/www/html
-v C:\work\dockerfile\php\extensions\no-debug-non-zts-20151012:/usr/local/lib/php/extensions/no-debug-non-zts-20151012 -d php:7.0-fpm
小技巧(注意事项)
在配置 php + nginx 时需要注意两个容器的工作目录最好一致(都为 /var/www/html 或 /var/www)
先配置php容器,配置好后再配置nginx。配置nginx 可以用 --link <容器名> 链接php容器
在启动容器时如果用 --link关联了容器,需要先启动用--link关联的容器
nginx的配置
server {
listen 80;
listen [::]:80;
server_name www.abc.com;
root /var/www/html;
index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_pass php-fpm7.0:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 600;
include fastcgi_params;
}
}