上次只是给大家把命令的作用以及简单使用列出来了(大家可以查看:docker命令总结(一)),那这篇文章会详细介绍每条命令的参数,命令比较多建议大家使用搜索,进行查看
search
docker search:此命令是用来在仓库中查找docker镜像
语法:
docker search 参数 镜像名称:tag(版本)
参数说明:
--filter,-f:根据相关条件过滤输出
--format:使用Go模板进行漂亮的打印搜索
--limit:指定最大搜索结果,默认25个
--no-trunc:显示完整的镜像描述
--stars,-s:列出收藏数不小于指定值的镜像
--automated:仅显示自动构建的镜像
示例:
默认搜索
ubuntu@VM-101-242-ubuntu:~$ sudo docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 12438 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1713 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 750 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 84
bitnami/nginx Bitnami nginx Docker Image 75 [OK]
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 60 [OK]
nginxdemos/hello NGINX webserver that serves a simple page co… 35 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 34
nginx/unit NGINX Unit is a dynamic web and application … 33
jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 31 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 22
privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 19 [OK]
schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 17 [OK]
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 12
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 12
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 11
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 9
sophos/nginx-vts-exporter Simple server that scrapes Nginx vts stats a… 6 [OK]
mailu/nginx Mailu nginx frontend 5 [OK]
1science/nginx Nginx Docker images that include Consul Temp… 5 [OK]
pebbletech/nginx-proxy nginx-proxy sets up a container running ngin… 2 [OK]
ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 1 [OK]
centos/nginx-110-centos7 Platform for running nginx 1.10 or building … 0
wodby/nginx Generic nginx 0 [OK]
ubuntu@VM-101-242-ubuntu:~$
搜索收藏数大于10的nginx镜像,并显示详细信息
ubuntu@VM-101-242-ubuntu:~$ sudo docker search --stars=10 --no-trunc nginx
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 12438 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker containers 1713 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of pulling application code from git 750 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxServer.io. 84
bitnami/nginx Bitnami nginx Docker Image 75 [OK]
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp-module module for live multimedia (video) streaming. 60 [OK]
nginxdemos/hello NGINX webserver that serves a simple page containing its hostname, IP address and port ... 35 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy hosts with a simple, powerful interface 34
nginx/unit NGINX Unit is a dynamic web and application server designed to run applications in various languages 33
jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 31 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 22
privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Alpine Linux stack 19 [OK]
schmunk42/nginx-redirect A very simple container to redirect HTTP traffic to another server, based on nginx 17 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building nginx-based application 12
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 12
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
centos/nginx-112-centos7 Platform for running nginx 1.12 or building nginx-based application 11
ubuntu@VM-101-242-ubuntu:~$
使用条件查找收藏数大于10的nginx镜像
ubuntu@VM-101-242-ubuntu:~$ sudo docker search --filter stars=3 nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 12438 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1713 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 750 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 84
bitnami/nginx Bitnami nginx Docker Image 75 [OK]
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 60 [OK]
nginxdemos/hello NGINX webserver that serves a simple page co… 35 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 34
nginx/unit NGINX Unit is a dynamic web and application … 33
jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 31 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 22
privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 19 [OK]
schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 17 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 12
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 12
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 11
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 9
sophos/nginx-vts-exporter Simple server that scrapes Nginx vts stats a… 6 [OK]
mailu/nginx Mailu nginx frontend 5 [OK]
1science/nginx Nginx Docker images that include Consul Temp… 5 [OK]
ubuntu@VM-101-242-ubuntu:~$
pull
从docker仓库下载镜像到本地
语法
docker pull 镜像名称:tag(版本)
参数说明
-a, --all-tags:下载所有版本的镜像
-q, --quiet:不显示详细信息
--disable-content-trust:不对下载的镜像进行校验
--platform:指定下载镜像服务器的平台信息
示例
下载nginx默认版本的docker镜像
ubuntu@VM-35-226-ubuntu:~$ sudo docker pull nginx:latest
latest: Pulling from library/nginx
8ec398bc0356: Pull complete
465560073b6f: Pull complete
f473f9fd0a8c: Pull complete
Digest: sha256:b2d89d0a210398b4d1120b3e3a7672c16a4ba09c2c4a0395f18b9f7999b768f2
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
ubuntu@VM-35-226-ubuntu:~$ sudo docker images //查看所有本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 9 days ago 126MB
ubuntu@VM-35-226-ubuntu:~$
push
推送指定镜像到docker镜像服务器
语法
docker push 本地镜像:tag(版本)
参数说明
--disable-content-trust:不对镜像进行校验
示例
docker push blxt:5000/blxt/nginx 上传nginx到私有仓库
images
查看本地所有docker镜像
语法
docker images 参数 镜像:tag(版本)
参数说明
-a, --all:列出本地所有镜像
--digests:显示镜像简单信息说明
-f, --filter:根据相关条件过滤输出
--format:使用Go模板进行漂亮的打印搜索
--no-trunc:显示镜像的完整信息
-q, --quiet:只显示镜像ID
示例
查看本地所有镜像
ubuntu@VM-35-226-ubuntu:~$ sudo docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 9 days ago 126MB
ubuntu@VM-35-226-ubuntu:~$
查看镜像详细信息
ubuntu@VM-35-226-ubuntu:~$ sudo docker images --no-trunc nginx:latest
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest sha256:f7bb5701a33c0e572ed06ca554edca1bee96cbbc1f76f3b01c985de7e19d0657 9 days ago 126MB
ubuntu@VM-35-226-ubuntu:~$
查看镜像ID
ubuntu@VM-35-226-ubuntu:~$ sudo docker images -q nginx:latest
f7bb5701a33c
ubuntu@VM-35-226-ubuntu:~$
run
创建容器,并运行
语法
docker run 参数 镜像:tag(版本)
参数说明
-a, --attach: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
-d: 容器将在后台运行
-t: 给容器分配tty终端
--sig-proxy=true: 将所有接收到的信号代理到进程(仅限非TTY模式)
-i: 以交互模式运行容器
--name: 给容器设置名称
--dns: 为容器设置自定义dns服务器
--dns-search: 指定DNS搜索域名
--network: 为容器指定网卡
--network-alias: 为容器的网卡设置别名
--add-host: 在容器的hosts文件中添加记录
--mac-address: 设置容器的MAC地址
--ip: 设置容器的IPV4地址
--ip6: 设置容器IPV6地址
--link-local-ip: 设置一个或多个容器的以太网设备的链接本地IPv4/IPv6地址
--rm: 容器退出时自动删除容器
-m, --memory: 设置容器内存大小,最小4M
--memory-swap: 设置容器的总内存大小,包含交换分区
-c, --cpu-shares: 设置cpu
--cpus: 设置cpu数量
--entrypoint: 在容器运行时执行的默认命令
--expose: 设置端口映射
-P: 将容器中所有端口映射到宿主机
-p: 将容器的某个端口映射到宿主机
--link: 将链接添加到另外一个容器
-v, --volume: 将宿主机的文件挂载到容器中
--volumes-from: 将宿主机的所有文件系统挂载到容器
-u,--user: 设置所使用的用户名或UID以及指定命令的可选组名或GID
-h: 指定容器主机名称
-e: 设置环境变量
--env-file: 从指定文件中导入变量
参数还有很多,这里就不一一列举了,上面是常用的参数
示例
后台运行nginx容器,并取名为nginx
ubuntu@VM-35-226-ubuntu:~$ sudo docker run -d --name nginx nginx:latest
06a913a442f9729e284b1a0628e5ce46561f81c6e8777f91d184f10de079cb55
ubuntu@VM-35-226-ubuntu:~$ sudo docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06a913a442f9 nginx:latest "nginx -g 'daemon of…" 18 seconds ago Up 15 seconds 80/tcp nginx
ubuntu@VM-35-226-ubuntu:~$
后台运行nginx容器,并映射容器80端口到宿主机的80端口
ubuntu@VM-35-226-ubuntu:~$ sudo docker run -d --name nginx -p 80:80 nginx:latest
c026ee7e0c9477c15ac42965ed19af92b6017e7bcce079fd450f8cee5f2d9de6
ubuntu@VM-35-226-ubuntu:~$ sudo docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c026ee7e0c94 nginx:latest "nginx -g 'daemon of…" 8 seconds ago Up 6 seconds 0.0.0.0:80->80/tcp nginx
ubuntu@VM-35-226-ubuntu:~$ sudo curl 127.0.0.1 //访问容器nginx页面
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
ubuntu@VM-35-226-ubuntu:~$
创建nginx容器,并进行交互式启动
ubuntu@VM-35-226-ubuntu:~$ sudo docker run -it --name nginx nginx:latest /bin/bash
root@4a518f4a2a01:/#
history
查看镜像形成过程
语法
docker history 参数 镜像:tag(版本)
参数
--format:使用Go模板进行漂亮的打印搜索
-H, --human:以可读格式打印大小和日期(默认为true)
--no-trunc:显示形成详细信息
-q, --quiet:只显示镜像ID
示例
默认使用方法
ubuntu@VM-35-226-ubuntu:~$ sudo docker history nginx:latest
IMAGE CREATED CREATED BY SIZE COMMENT
f7bb5701a33c 9 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
<missing> 9 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
<missing> 9 days ago /bin/sh -c #(nop) EXPOSE 80 0B
<missing> 9 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx… 22B
<missing> 9 days ago /bin/sh -c set -x && addgroup --system -… 57.1MB
<missing> 9 days ago /bin/sh -c #(nop) ENV PKG_RELEASE=1~buster 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NJS_VERSION=0.3.7 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.17.6 0B
<missing> 9 days ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
<missing> 10 days ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 10 days ago /bin/sh -c #(nop) ADD file:04caaf303199c81ff… 69.2MB
ubuntu@VM-35-226-ubuntu:~$
只打印镜像ID
ubuntu@VM-35-226-ubuntu:~$ sudo docker history -q nginx:latest
f7bb5701a33c
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
ubuntu@VM-35-226-ubuntu:~$
显示镜像形成的详细信息
ubuntu@VM-35-226-ubuntu:~$ sudo docker history --no-trunc nginx
IMAGE CREATED CREATED BY SIZE COMMENT
sha256:f7bb5701a33c0e572ed06ca554edca1bee96cbbc1f76f3b01c985de7e19d0657 9 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon off;"] 0B
<missing> 9 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
<missing> 9 days ago /bin/sh -c #(nop) EXPOSE 80 0B
<missing> 9 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log 22B
<missing> 9 days ago /bin/sh -c set -x && addgroup --system --gid 101 nginx && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; found=''; for server in ha.pool.sks-keyservers.net hkp://keyserver.ubuntu.com:80 hkp://p80.pool.sks-keyservers.net:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|i386) echo "deb https://nginx.org/packages/mainline/debian/ buster nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) echo "deb-src https://nginx.org/packages/mainline/debian/ buster nginx" >> /etc/apt/sources.list.d/nginx.list && tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get build-dep -y $nginxPackages && ( cd "$tempDir" && DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" apt-get source --compile $nginxPackages ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base && apt-get remove --purge --auto-remove -y ca-certificates && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi 57.1MB
<missing> 9 days ago /bin/sh -c #(nop) ENV PKG_RELEASE=1~buster 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NJS_VERSION=0.3.7 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.17.6 ubuntu@VM-35-226-ubuntu:~$ sudo docker history --no-trunc nginx:latest
IMAGE CREATED CREATED BY SIZE COMMENT
sha256:f7bb5701a33c0e572ed06ca554edca1bee96cbbc1f76f3b01c985de7e19d0657 9 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon off;"] 0B
<missing> 9 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
<missing> 9 days ago /bin/sh -c #(nop) EXPOSE 80 0B
<missing> 9 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log 22B
<missing> 9 days ago /bin/sh -c set -x && addgroup --system --gid 101 nginx && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; found=''; for server in ha.pool.sks-keyservers.net hkp://keyserver.ubuntu.com:80 hkp://p80.pool.sks-keyservers.net:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|i386) echo "deb https://nginx.org/packages/mainline/debian/ buster nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) echo "deb-src https://nginx.org/packages/mainline/debian/ buster nginx" >> /etc/apt/sources.list.d/nginx.list && tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get build-dep -y $nginxPackages && ( cd "$tempDir" && DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" apt-get source --compile $nginxPackages ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base && apt-get remove --purge --auto-remove -y ca-certificates && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi 57.1MB
<missing> 9 days ago /bin/sh -c #(nop) ENV PKG_RELEASE=1~buster 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NJS_VERSION=0.3.7 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.17.6 0B
<missing> 9 days ago /bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com> 0B
<missing> 10 days ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 10 days ago /bin/sh -c #(nop) ADD file:04caaf303199c81ff1a94e2e39d5096f9d02b73294b82758e5bc6e23aff94272 in / 69.2MB
ubuntu@VM-35-226-ubuntu:~$
start
启动容器
语法
docker start 参数 容器ID/容器名称
参数说明
-a, --attach:附加STDOUT/STDERR和转发信号
--checkpoint:从快照进行还原
--checkpoint-dir:使用自定义检查点存储目录
--detach-keys:重写用于分离容器的键序列
-i, --interactive:附加容器的STDIN
示例
启动使用create创建的nginx容器
ubuntu@VM-35-226-ubuntu:~$ sudo docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b9053318855 nginx:latest "nginx -g 'daemon of…" 9 seconds ago Created admiring_rhodes
ubuntu@VM-35-226-ubuntu:~$ sudo docker start 8b9053318855
8b9053318855
ubuntu@VM-35-226-ubuntu:~$ sudo docker ps //查看已启动的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b9053318855 nginx:latest "nginx -g 'daemon of…" 40 seconds ago Up 7 seconds 80/tcp admiring_rhodes
ubuntu@VM-35-226-ubuntu:~$
stop
关闭容器
语法
docker stop 参数 容器ID/容器名称
参数说明
--time , -t:在多少时间后关闭容器
示例
默认使用方法
ubuntu@VM-121-163-ubuntu:~$ sudo docker run -d --name nginx nginx:latest //创建并后台启动nginx容器
4c1e4ab3cfdcb7c5c55052238525e79bb82c0b5cf70b18420520ec2884669272
ubuntu@VM-121-163-ubuntu:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c1e4ab3cfdc nginx:latest "nginx -g 'daemon of…" 7 seconds ago Up 5 seconds 80/tcp nginx
ubuntu@VM-121-163-ubuntu:~$ sudo docker stop nginx
nginx
ubuntu@VM-121-163-ubuntu:~$ sudo docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c1e4ab3cfdc nginx:latest "nginx -g 'daemon of…" 26 seconds ago Exited (0) 5 seconds ago nginx
ubuntu@VM-121-163-ubuntu:~$
build
通过dockerfile制作镜像
语法
docker build 参数 路径
参数说明
--build-arg:设置创建时的变量
--cgroup-parent:容器的可选父cgroup
--compress:使用gzip压缩构建上下文
--cpu-shares :设置 cpu 使用权重
--cpu-period :限制 CPU CFS周期
--cpu-quota :限制 CPU CFS配额
--cpuset-cpus :指定使用的CPU id
--cpuset-mems :指定使用的内存 id
--disable-content-trus:跳过镜像验证
--file , -f:指定dockerfile的名称,默认为dockerfile
--force-rm:始终移除中间容器
--iidfile:将镜像ID写入文件
--isolation:使用容器隔离
--label:为镜像设置元数据
--memory , -m:设置内存限制
--memory-swap:设置总内存,包含交换内存
--network:设置镜像网络信息
--no-cache:构建镜像不使用缓存
--output , -o:设置镜像生成位置
--pull:始终尝试提取图像的较新版本
--quiet , -q: 禁止生成输出并成功打印图像ID
--rm:成功构建后删除中间容器
--tag, -t: 镜像的名字及标签
--ulimit :Ulimit配置
--shm-size :设置/dev/shm的大小,默认值是64M
示例
使用当前目录下的dockerfile制作nginx:V1镜像
docker build -t nginx:V1 .
创建nginx:V2镜像,使用非当前目录下的dockerfile
docker build -t nginx:V2 -f /opt/dockerfile
添加其他主机到容器文件中
docker build --add-host=docker:1.1.1.1 .
使用参数--squash创建名为test:1的镜像
docker build --squash -t test:1 .
attach
当前shell连接运行容器
语法
docker attach 参数 容器ID/容器名称
参数
--detach-keys: 覆盖分离容器的键序列
--no-stdin:不要附上STDIN
--sig-proxy:代理所有接收到的信号到进程
示例
默认使用方法
ubuntu@VM-121-163-ubuntu:~$ sudo docker run -d --name ubuntu ubuntu /usr/bin/top -b //创建并启动容器
98c3f0964ad3a38e360867941a5510cd77e164a835be5b9b69aa47d3d5ceed17
ubuntu@VM-121-163-ubuntu:~$ sudo docker attach ubuntu
top - 08:24:58 up 1:12, 0 users, load average: 0.04, 0.06, 0.01
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.3 us, 1.7 sy, 0.0 ni, 96.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 885080 total, 149760 free, 231524 used, 503796 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 499100 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 36480 3100 2748 R 0.0 0.4 0:00.19 top
top - 08:25:01 up 1:12, 0 users, load average: 0.04, 0.06, 0.01
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.7 sy, 0.0 ni, 98.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 885080 total, 151252 free, 230048 used, 503780 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 500588 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 36480 3100 2748 R 0.0 0.4 0:00.19 top
top - 08:25:04 up 1:13, 0 users, load average: 0.04, 0.06, 0.01
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.3 us, 1.0 sy, 0.0 ni, 97.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 885080 total, 151264 free, 230016 used, 503800 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 500616 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 36480 3100 2748 R 0.0 0.4 0:00.19 top
您可以看到该bash 过程返回的退出代码也由docker attach命令返回给其调用者
ubuntu@VM-121-163-ubuntu:~$ sudo docker run --name ubuntu -d -it ubuntu //创建并启动容器
9ac7802feb2b77bb905bc9f4c5ca9782e6800fc995b1f2b39da78239d86a7405
ubuntu@VM-121-163-ubuntu:~$ sudo docker attach ubuntu
root@9ac7802feb2b:/#
root@9ac7802feb2b:/#
commit
保存当前容器为镜像/快照
语法
docker commit 容器名称/容器ID 镜像名:tag(版本)
示例
ubuntu@VM-121-163-ubuntu:~$ sudo docker images //查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 9 days ago 126MB
ubuntu latest 549b9b86cb8d 2 weeks ago 64.2MB
ubuntu@VM-121-163-ubuntu:~$ sudo docker run -itd --name nginx nginx:latest //创建容器
9566c54f3883b0a3b2f92dc94eb8520772d5d05826d7025be23212768f4d7967
ubuntu@VM-121-163-ubuntu:~$ sudo docker ps -a //查看容器状态
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9566c54f3883 nginx:latest "nginx -g 'daemon of…" 11 seconds ago Up 9 seconds 80/tcp nginx
ubuntu@VM-121-163-ubuntu:~$ sudo docker commit nginx nginx:V1 //生成快照
sha256:e091997549ff02cf6309d6146b7626c6efef6dd9ce598c632f6bf0f4d090978c
ubuntu@VM-121-163-ubuntu:~$ sudo docker images //查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx V1 e091997549ff 22 seconds ago 126MB
nginx latest f7bb5701a33c 9 days ago 126MB
ubuntu latest 549b9b86cb8d 2 weeks ago 64.2MB
ubuntu@VM-121-163-ubuntu:~$
cp
容器与宿主机互相复制文件
语法
docker cp 容器ID/容器名:文件路径 宿主机路径 复制容器中文件到宿主机
docker cp 宿主机路径 容器ID/容器名:文件存储路径 复制宿主机文件到容器
参数说明
-a, --archive:复制文件同时复制文件用户信息
-L, --follow-link:保持源目标中的链接
示例
复制宿主机文件到容器的根目录中
root@test:/jia/test# docker run -d --name nginx nginx:latest //创建并运行nginx容器
33b6339003ef41fd62b909fd79e9056d53d944b3172f0f02fc717fd64a2648e3
root@test:/jia/test# docker exec nginx ls / //列出容器根目录
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
root@test:/jia/test# docker cp test nginx:/ //复制文件到容器
root@test:/jia/test# docker exec nginx ls / //列出容器根目录
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
test
tmp
usr
var
从容器中复制文件到宿主目录
root@test:/jia/test# ls //列出目录
root@test:/jia/test# docker cp nginx:/test . //复制容器中文件到当前目录
root@test:/jia/test# ls //列出目录
test
root@test:/jia/test#
create
创建容器但不启动容器
语法
docker create 参数 镜像:tag(版本)
参数说明
--add-host: 在容器的hosts文件中添加记录
-a, --attach: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
--cap-add: 添加linux功能
--cap-drop: 删除linux功能
--cidfile: 将容器ID写入文件
-c, --cpu-shares: 设置cpu
--device: 将主机设备添加到容器
--disable-content-trus: 不对镜像进行验证
--dns: 为容器设置自定义dns服务器‘
--dns-opt: 设置DNS选项
--dns-search: 指定DNS搜索域名
--domainname: 设置容器域名
--env , -e: 设置环境变量
--env-file: 读取变量文件进行设置容器变量
--expose: 设置端口映射
--hostname , -h: 设置容器主机名
--init: 在容器内运行一个初始化程序,以转发信号并获取进程
--ip: 设置容器的IPV4地址
--ip6: 设置容器IPV6地址
--isolation: 使用隔离技术
--link: 将链接添加到宿主机,也就是创建软连接
--link-local-ip: 设置容器本地地址
--mac-address: 设置容器MAC地址
--memory , -m: 设置内存
--memory-swap: 设置总内存大小,包含交换内存
--mount: 挂载文件系统
--name: 设置容器名称
--net: 将容器链接网络
--net-alias: 为容器网络起别名
--network: 容器链接到网络
--network-alias: 为容器网络起别名
--publish , -p: 将容器端口映射到宿主机
--publish-all , -P: 将容器所有端口映射到宿主机
--read-only: 将容器的根文件系统挂载为只读
--restart: 容器退出时重新启动策略以应用
--rm: 退出时自动删除容器
--stop-signal: 停止容器的信号
--tty , -t: 分配终端
--user , -u: 设置运行容器的用户
--workdir , -w: 设置容器的工作目录
参数还有很多,这里就不一一列举了,上面是常用的参数
示例
创建nginx容器并启动
root@test:/jia/test# docker create -t -i nginx:latest /bin/bash //创建容器
6f2cea61b80c117fe877589073b5f259a57623bd511a89330c72c825c0cbe4fd
root@test:/jia/test# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f2cea61b80c nginx:latest "/bin/bash" 12 seconds ago Created funny_gould
root@test:/jia/test# docker start -a -i 6f2cea61b80c //启动容器
root@6f2cea61b80c:/# ls //列出容器当前目录
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@6f2cea61b80c:/#
创建名为nginx的容器并进行启动
root@test:/jia/test# docker create --name nginx -t -i nginx:latest /bin/bash //创建容器
5487d362e25bfcd39c70754972eb964121ba8408f3f97c89cac930208882e745
root@test:/jia/test# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5487d362e25b nginx:latest "/bin/bash" 5 seconds ago Created nginx
root@test:/jia/test# docker start -a -i nginx //启动容器并进行链接
root@5487d362e25b:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@5487d362e25b:/#
创建nginx容器并映射端口
root@test:/jia/test# docker create --name nginx -p 80:80-it nginx:latest /bin/bash //创建容器
4cc06988f4284f01281a338b914aff247a16969e33177088673a281d848f99d4
root@test:/jia/test# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad7eb9da0f48 nginx:latest "/bin/bash" 2 minutes ago Exited (0) 2 seconds ago nginx
root@test:/jia/test# docker start nginx //启动容器
nginx
root@test:/jia/test# docker ps -a //查看容器状态
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad7eb9da0f48 nginx:latest "/bin/bash" 2 minutes ago Up 5 seconds 0.0.0.0:8080->80/tcp nginx
root@test:/jia/test# curl 127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
root@test:/jia/test#
diff
查看容器改动
语法
docker diff 容器
符号说明
A 添加了文件或目录
D 文件或目录已删除
C 文件或目录已更改
示例
默认使用方法
root@test:/jia/test# docker diff nginx
C /root
A /root/.bash_history
root@test:/jia/test#
复制test文件到nginx容器中查看你改动情况
root@test:/jia/test# docker cp test nginx:/ //复制test文件到容器的根目录
root@test:/jia/test# docker diff nginx
A /test
C /root
A /root/.bash_history
root@test:/jia/test#
exec
在容器中执行命令
语法
docker exec 参数 容器ID/容器名称 命令
参数说明
--detach , -d:后台运行容器
--detach-keys:覆盖分离容器的键序列
--env , -e:设置环境变量
--interactive , -i: 即使未连接STDIN也保持打开状态
--privileged:赋予命令扩展权限
--tty , -t: 分配伪TTY
--user , -u:指定运行用户
--workdir , -w:设置工作目录
示例
使用容器打印“hello word”
root@test:/jia/test# docker run --name centos -itd centos:latest //创建并启动容器
1b75dac7104122e021fb8cc7989c8992eb8502f34713e76ee87e6d6f7796e83c
root@test:/jia/test# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b75dac71041 centos:latest "/bin/bash" 4 seconds ago Up 3 seconds centos
root@test:/jia/test# docker exec centos echo "hello word" //使用 echo 打印“hello word”
hello word
root@test:/jia/test#
给容器建立交互式shell,并查看容器IP地址
root@test:/jia/test# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b75dac71041 centos:latest "/bin/bash" 2 minutes ago Up 2 minutes centos
root@test:/jia/test# docker exec -it centos /bin/bash //建立bash交互式shell
[root@1b75dac71041 /]# ip addr //查看IP地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
20: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
[root@1b75dac71041 /]#
指定工作目录,并打印路径
root@test:/jia/test# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b75dac71041 centos:latest "/bin/bash" 9 minutes ago Up 9 minutes centos
root@test:/jia/test# docker exec -w /var/www/html centos pwd //设置工作目录,并进行打印目录
/var/www/html
root@test:/jia/test#
login
登入docker镜像源服务器
语法
docker login 参数 服务器地址
参数说明
-p, --password:指定登录服务器用户的密码
-u, --username:指定登录服务器用户的账户
示例
默认登录dockerhub
root@test:/jia/test# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: blxt
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
root@test:/jia/test#
指定用户名和密码进行登录
root@test:/jia/test# docker login -u blxt -p 123456
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
root@test:/jia/test#
登录阿里镜像仓库
root@jia:/etc# docker login -u '弑天倾城' -p '123456' registry.cn-shenzhen.aliyuncs.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
root@jia:/etc#
logout
退出登录镜像源服务器
语法
docker logout 镜像仓库地址
示例
退出dockerhub用户登录
root@jia:/etc# docker login -u blxt -p 'JKY@jjj.123' //登录dockerhub服务器
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
root@jia:/etc# docker logout //退出登录
Removing login credentials for https://index.docker.io/v1/
root@jia:/etc#
退出阿里镜像仓库
root@jia:/etc# docker login -u '弑天倾城' -p '123456' registry.cn-shenzhen.aliyuncs.com //登录阿里镜像仓库
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
root@jia:/etc# docker logout //退出失败没有登录dockerhub仓库
Not logged in to https://index.docker.io/v1/
root@jia:/etc# docker logout registry.cn-shenzhen.aliyuncs.com
Removing login credentials for registry.cn-shenzhen.aliyuncs.com //退出登录阿里镜像仓库
root@jia:/etc#
logs
输出当前容器的日志信息
语法
docker logs 参数 容器ID/容器名
参数说明
--details:查看日志详细信息
--follow , -f:实时动态的查看日志
--since:显示生成日志的时间
--tail:显示日志行数
--timestamps , -t:显示时间戳
--until:显示某一时间段的日志信息
示例
默认查看容器日志
root@jia:/etc# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85c8be92df44 nginx:latest "nginx -g 'daemon of…" 7 minutes ago Up 7 minutes 80/tcp nginx
root@jia:/etc# docker logs nginx
172.17.0.1 - - [08/Jan/2020:08:19:02 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.58.0" "-"
172.17.0.1 - - [08/Jan/2020:08:19:04 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.58.0" "-"
172.17.0.1 - - [08/Jan/2020:08:19:07 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.58.0" "-"
root@jia:/etc#
实时显示nginx容器的日志
root@jia:/etc# docker run --name nginx -itd nginx:latest //创建并启动nginx容器
85c8be92df44960e0973ae2b48907661679d921d0523cb93526351f07850f290
root@jia:/etc# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85c8be92df44 nginx:latest "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 80/tcp nginx
root@jia:~# docker inspect nginx | IPAddress //查看容器的ip地址
IPAddress: command not found
root@jia:~# docker inspect nginx | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
root@jia:~# curl 127.0.0.1 //访问nginx服务
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
root@jia:/etc# docker logs -f nginx //输出日志信息
172.17.0.1 - - [08/Jan/2020:08:19:02 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.58.0" "-"
172.17.0.1 - - [08/Jan/2020:08:19:04 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.58.0" "-"
172.17.0.1 - - [08/Jan/2020:08:19:07 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.58.0" "-"
port
查看容器的端口映射情况
语法
docker port 容器ID/容器名称
示例
列出nginx容器所有端口映射情况
root@jia:/etc# docker run --name nginx -itd -P nginx:latest //创建并启动容器,映射容器所有端口
b4e3a51697c2e35b4a17acee93630ac77c6e9fe94df99c70750b60c4f87b535a
root@jia:/etc# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4e3a51697c2 nginx:latest "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:32768->80/tcp nginx
root@jia:/etc# docker port nginx //显示容器端口映射情况
80/tcp -> 0.0.0.0:32768
root@jia:/etc#
ps
列出容器列表
语法
docker ps 参数
参数说明
--all , -a:查看所有容器
--filter , -f:根据相关条件进行过滤
--format: 使用Go模板打印漂亮的容器
--last , -n:显示第几个创建的容器
--latest , -l:显示最新创建的容器
--no-trunc:显示详细信息
--quiet , -q:只显示容器ID
--size , -s:显示容器的总大小
示例
查看所有容器
root@jia:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
79b53ebbc86e centos:latest "/bin/bash" 5 seconds ago Created fervent_payne
b4e3a51697c2 nginx:latest "nginx -g 'daemon of…" 13 minutes ago Up 13 minutes 0.0.0.0:32768->80/tcp nginx
root@jia:~#
查看正在运行的容器
root@jia:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4e3a51697c2 nginx:latest "nginx -g 'daemon of…" 13 minutes ago Up 13 minutes 0.0.0.0:32768->80/tcp nginx
root@jia:~#
restart
重新启动容器
语法
docker restart 容器名称/容器ID
参数
-t:设置重启执行时间
示例
root@jia:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4e3a51697c2 nginx:latest "nginx -g 'daemon of…" 16 minutes ago Up 16 minutes 0.0.0.0:32768->80/tcp nginx
root@jia:~# docker restart nginx
nginx
root@jia:~#
rm
删除容器
语法
docker rm 参数 容器ID/容器名称
参数
--force , -f:根据条件进行删除容器,强制删除正在运行的容器
--link , -l:移除容器间的网络连接,而非容器本身
-v, --volumes:删除与容器关联的文件系统
示例
删除nginx容器
root@jia:~# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3800e1bda43 centos "/bin/bash" About a minute ago Up About a minute centos
b4e3a51697c2 nginx:latest "nginx -g 'daemon of…" 22 minutes ago Up 5 minutes 0.0.0.0:32769->80/tcp nginx
root@jia:~# docker rm nginx //删除容器,但nginx容器正在运行所以无法使用此参数删除
Error response from daemon: You cannot remove a running container b4e3a51697c2e35b4a17acee93630ac77c6e9fe94df99c70750b60c4f87b535a. Stop the container before attempting removal or force remove
root@jia:~# docker rm -f nginx //强制删除nginx容器
nginx
root@jia:~# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3800e1bda43 centos "/bin/bash" About a minute ago Up About a minute centos
root@jia:~#
删除所有容器
root@jia:~# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ee9b7488e32 nginx "nginx -g 'daemon of…" 26 seconds ago Up 25 seconds 80/tcp nginx
c3800e1bda43 centos "/bin/bash" 4 minutes ago Up 4 minutes centos
root@jia:~# docker rm $(docker ps -a -q) //删除容器失败,因为容器正在运行
Error response from daemon: You cannot remove a running container 4ee9b7488e323c80d9acaa01a214d00bc3072e2430df5ce7a0560acea0c9587c. Stop the container before attempting removal or force remove
Error response from daemon: You cannot remove a running container c3800e1bda43416add00ac18fb9c2d15e7d106e302ceef090e04d7fa6133368d. Stop the container before attempting removal or force remove
root@jia:~# docker rm -f $(docker ps -a -q) //删除所有容器
4ee9b7488e32
c3800e1bda43
root@jia:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@jia:~#
rmi
删除本地镜像
语法
docker rmi 参数 镜像名称/镜像ID
参数
--force , -f:强制删除
--no-prune:不移除该镜像的过程镜像,默认移除
示例
默认删除镜像
root@jia:~# docker images //查看本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 10 days ago 126MB
ubuntu latest 549b9b86cb8d 2 weeks ago 64.2MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:~# docker rmi 549b9b86cb8d //删除ubuntu的镜像
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:250cc6f3f3ffc5cdaa9d8f4946ac79821aafb4d3afc93928f0de9336eba21aa4
Deleted: sha256:549b9b86cb8d75a2b668c21c50ee092716d070f129fd1493f95ab7e43767eab8
Deleted: sha256:7c52cdc1e32d67e3d5d9f83c95ebe18a58857e68bb6985b0381ebdcec73ff303
Deleted: sha256:a3c2e83788e20188bb7d720f36ebeef2f111c7b939f1b19aa1b4756791beece0
Deleted: sha256:61199b56f34827cbab596c63fd6e0ac0c448faa7e026e330994818190852d479
Deleted: sha256:2dc9f76fb25b31e0ae9d36adce713364c682ba0d2fa70756486e5cedfaf40012
root@jia:~# docker images //查看本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 10 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:~#
强制删除正在运行的镜像
root@jia:~# docker run -itd --name nginx nginx //启动创建容器
36b203a3fb5cf8fe6a1e13e298998c8510f7d24e49da36ada8d7181d89b16089
root@jia:~# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36b203a3fb5c nginx "nginx -g 'daemon of…" 3 seconds ago Up 2 seconds 80/tcp nginx
root@jia:~# docker images //查看本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 10 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:~# docker rmi nginx:latest //默认删除镜像,删除失败,报错镜像正在使用
Error response from daemon: conflict: unable to remove repository reference "nginx:latest" (must force) - container 36b203a3fb5c is using its referenced image f7bb5701a33c
root@jia:~# docker rmi -f nginx:latest //强制删除镜像
Untagged: nginx:latest
Untagged: nginx@sha256:b2d89d0a210398b4d1120b3e3a7672c16a4ba09c2c4a0395f18b9f7999b768f2
root@jia:~# docker images //查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> f7bb5701a33c 10 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:~#
注意:当强制删除镜像后,会直接删除,但是会生成新的镜像,容器不会被删除
save
保存镜像为tar包
语法
docker save 参数 镜像名称 文件目录及名称.tar
参数说明
--output , -o:保存到某文件
示例
将nginx镜像保存为文件
root@jia:/jia/jia# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 11 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia# docker save nginx:latest > nginx.tar
root@jia:/jia/jia# ls
nginx.tar
root@jia:/jia/jia#
将多个镜像保存到一个文件
root@jia:/jia/jia# docker save -o test.tar nginx:latest centos:latest
root@jia:/jia/jia# ls
nginx.tar test.tar
root@jia:/jia/jia#
使用gzip+tar进行打包压缩
root@jia:/jia/jia# docker save nginx:latest | gzip > nginx.tar.gz
root@jia:/jia/jia# ls -lh //查看目录中文件长格式显示
total 513M
-rw-r--r-- 1 root root 125M Jan 9 16:57 nginx.tar
-rw-r--r-- 1 root root 47M Jan 9 17:03 nginx.tar.gz
-rw------- 1 root root 342M Jan 9 17:00 test.tar
root@jia:/jia/jia#
top
查看容器中进程信息
语法
docker top 参数 容器ID/容器名称
示例
查看nginx容器中所有进程信息
root@jia:/jia/jia# docker run --name nginx -itd nginx:latest //创建启动nginx容器
69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6
root@jia:/jia/jia# docker ps -a //列出所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69e353d85640 nginx:latest "nginx -g 'daemon of…" 5 seconds ago Up 4 seconds 80/tcp nginx
root@jia:/jia/jia# docker top nginx
UID PID PPID C STIME TTY TIME CMD
root 28665 28637 1 17:08 pts/0 00:00:00 nginx: master process nginx -g daemon off;
systemd+ 28724 28665 0 17:08 pts/0 00:00:00 nginx: worker process
root@jia:/jia/jia#
version
查看docker软件版本
语法
docker version 参数
参数说明
-f, --format:使用给定的Go模板格式化输出
--kubeconfig:Kubernetes配置文件
示例
查看docker版本详细信息
root@jia:/jia/jia# docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:29:52 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:28:22 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
root@jia:/jia/jia#
查看docker版本
root@jia:/jia/jia# docker version --format '{{.Server.Version}}'
19.03.5
root@jia:/jia/jia#
events
查看docker服务器实时事件
语法
docker events 参数
参数说明
-f,--filter:根据条件过滤事件
--since :从指定的时间戳后显示所有事件
--until :流水时间显示到指定的时间为止
--format:使用给定的Go模板格式化输出
示例
容器启动停止,使用events显示事件
root@jia:/jia/jia# docker ps -a //查看容器列表
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69e353d85640 nginx:latest "nginx -g 'daemon of…" 13 minutes ago Up 13 minutes 80/tcp nginx
root@jia:/jia/jia# docker stop nginx //停止容器
nginx
root@jia:/jia/jia# docker start nginx //启动容器
nginx
root@jia:/jia/jia#
root@jia:~# docker events //查看实时事件,注意此命令不会自动终止需要crtl+c终止
2020-01-09T17:22:26.880177305+08:00 container kill 69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6 (image=nginx:latest, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=nginx, signal=15)
2020-01-09T17:22:27.005016080+08:00 container die 69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6 (exitCode=0, image=nginx:latest, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=nginx)
2020-01-09T17:22:27.103273324+08:00 network disconnect f2ccf449e47668433fb96511ef577c7515be7f481a7a9cb386c9d46650cbabbf (container=69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6, name=bridge, type=bridge)
2020-01-09T17:22:27.145650268+08:00 container stop 69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6 (image=nginx:latest, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=nginx)
2020-01-09T17:22:33.680477968+08:00 network connect f2ccf449e47668433fb96511ef577c7515be7f481a7a9cb386c9d46650cbabbf (container=69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6, name=bridge, type=bridge)
2020-01-09T17:22:34.093551544+08:00 container start 69e353d8564025e07ee201098cafb9870d95b92edf990db2455aa6261c0bede6 (image=nginx:latest, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=nginx)
import
从tar文件导入docker为镜像
语法
docker import 参数 tar文件目录名称 导入的镜像名称:tag(版本)
参数说明
--change , -c: 将Dockerfile指令应用于创建的映像
--message , -m: 设置导入图像的提交消息
示例
将nginx.tar的镜像包导入docker并命名nginx版本V1
root@jia:/jia/jia# docker images //查看本地所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 11 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia# ls
nginx.tar nginx.tar.gz test.tar
root@jia:/jia/jia# docker import nginx.tar nginx:V1
sha256:07b2b1766ed11df9e7a12f98a4c5127c1aa0087e6b7d4eb0bc21490f168c1b0d
root@jia:/jia/jia# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx V1 07b2b1766ed1 3 seconds ago 130MB
nginx latest f7bb5701a33c 11 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia#
导入使用tar打包gzip压缩的镜像
root@jia:/jia/jia# docker import nginx.tar.gz nginx:V2
sha256:ca7505dbea914f7babb1ed3667d1a133461c344d92ea978585b64fe7dabf5b36
root@jia:/jia/jia# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx V2 ca7505dbea91 8 seconds ago 130MB
nginx V1 07b2b1766ed1 2 minutes ago 130MB
nginx latest f7bb5701a33c 11 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia#
export
从docker导出容器为tar文件
语法
docker export 参数 容器名称/容器ID
参数说明
--output , -o:写入文件
示例
导出centos容器并命名为centos.tar
root@jia:/jia/jia# docker run --name centos -itd centos:latest //创建并启动centos容器
06b5abbb068dc493056aae6f1526b81028f931fd160fe470a937e15ac0110bdf
root@jia:/jia/jia# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06b5abbb068d centos:latest "/bin/bash" 4 seconds ago Up 3 seconds centos
69e353d85640 nginx:latest "nginx -g 'daemon of…" 32 minutes ago Up 18 minutes 80/tcp nginx
root@jia:/jia/jia# docker export centos > centos.tar
root@jia:/jia/jia# ls
centos.tar nginx.tar nginx.tar.gz test.tar
root@jia:/jia/jia#
导出centos容器并命名为centos.tar.gz,使用gzip压缩
root@jia:/jia/jia# docker export centos > centos.tar
root@jia:/jia/jia# ls
centos.tar nginx.tar nginx.tar.gz test.tar
root@jia:/jia/jia# docker export centos | gzip > centos.tar.gz
root@jia:/jia/jia# ls -lh
total 796M
-rw-r--r-- 1 root root 217M Jan 9 17:41 centos.tar
-rw-r--r-- 1 root root 67M Jan 9 17:43 centos.tar.gz
-rw-r--r-- 1 root root 125M Jan 9 16:57 nginx.tar
-rw-r--r-- 1 root root 47M Jan 9 17:03 nginx.tar.gz
-rw------- 1 root root 342M Jan 9 17:00 test.tar
root@jia:/jia/jia#
导出nginx容器,并命名nginx1.tar
root@jia:/jia/jia# docker export -o nginx1.tar nginx
root@jia:/jia/jia# ls
centos.tar centos.tar.gz nginx1.tar nginx.tar nginx.tar.gz test.tar
root@jia:/jia/jia#
info
查看docker系统信息
语法
docekr info 参数
参数说明
--format , -f:使用给定的Go模板格式化输出
示例
root@jia:/jia/jia# docker info
Client:
Debug Mode: false
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 4
Server Version: 19.03.5
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-65-generic
Operating System: Ubuntu 18.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.852GiB
Name: jia
ID: 74XS:4TCO:7OQX:BKF2:O2WW:JYEF:6Y6Q:RT3X:YVRO:Y2LP:JZIA:AHSB
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
root@jia:/jia/jia#
inspect
查看容器详细信息
语法
docker inspect 参数 容器ID/容器名称
参数说明
--format , -f:使用给定的Go模板格式化输出
--size , -s:显示文件总大小
--type :为指定类型返回JSON
示例
获取容器IP地址
第一种方式:
root@jia:/jia/jia# docker ps -a //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06b5abbb068d centos:latest "/bin/bash" 17 hours ago Up 17 hours centos
69e353d85640 nginx:latest "nginx -g 'daemon of…" 17 hours ago Up 17 hours 80/tcp nginx
root@jia:/jia/jia# docker inspect centos | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.3",
"IPAddress": "172.17.0.3",
root@jia:/jia/jia#
第二种方式:(只显示IP地址)
root@jia:/jia/jia# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' centos
172.17.0.3
root@jia:/jia/jia#
获取容器MAC地址
root@jia:/jia/jia# docker inspect centos | grep MacAddress
"MacAddress": "02:42:ac:11:00:03",
"MacAddress": "02:42:ac:11:00:03",
root@jia:/jia/jia#
获取容器日志目录
root@jia:/jia/jia# docker inspect centos | grep log
"LogPath": "/var/lib/docker/containers/06b5abbb068dc493056aae6f1526b81028f931fd160fe470a937e15ac0110bdf/06b5abbb068dc493056aae6f1526b81028f931fd160fe470a937e15ac0110bdf-json.log",
root@jia:/jia/jia#
kill
杀死正在运行的容器
语法
docker kill 参数 容器ID/容器名称
参数说明
--signal , -s:向容器发送信号
示例
杀死正在运行的centos容器
root@jia:/jia/jia# docker ps //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06b5abbb068d centos:latest "/bin/bash" 17 hours ago Up 17 hours centos
69e353d85640 nginx:latest "nginx -g 'daemon of…" 18 hours ago Up 17 hours 80/tcp nginx
root@jia:/jia/jia# docker kill centos
centos
root@jia:/jia/jia# docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06b5abbb068d centos:latest "/bin/bash" 17 hours ago Exited (137) 6 seconds ago centos
69e353d85640 nginx:latest "nginx -g 'daemon of…" 18 hours ago Up 17 hours 80/tcp nginx
root@jia:/jia/jia#
杀死正在运行的nginx容器,发送kill信号
root@jia:/jia/jia# docker kill --signal=kill nginx
nginx
root@jia:/jia/jia# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06b5abbb068d centos:latest "/bin/bash" 17 hours ago Exited (137) 3 minutes ago centos
69e353d85640 nginx:latest "nginx -g 'daemon of…" 18 hours ago Exited (137) 1 second ago nginx
root@jia:/jia/jia#
load
从tar文件中加载为docker镜像
语法
docker load 参数 tar文件
参数说明
-i, --input:从tar存档文件中读取,而不是从STDIN中读取
--quiet , -q:显示简要信息
示例
导入nginx镜像
root@jia:/jia/jia# docker images //查看所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia# docker load < nginx.tar.gz
556c5fb0d91b: Loading layer [==================================================>] 72.48MB/72.48MB
49434cc20e95: Loading layer [==================================================>] 57.67MB/57.67MB
75248c0d5438: Loading layer [==================================================>] 3.584kB/3.584kB
Loaded image: nginx:latest
root@jia:/jia/jia# docker images //查看所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 12 days ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia#
pause
暂停容器
语法
docker pause 容器ID/容器名称
示例
暂停centos容器
root@jia:/jia/jia# docker run -itd --name centos centos:latest //创建并运行
48e49042b927f427aed68437e12e5acd14b82e3a33a71b6f236bcef5c3edd41d
root@jia:/jia/jia# docker ps //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48e49042b927 centos:latest "/bin/bash" 2 seconds ago Up 2 seconds centos
root@jia:/jia/jia# docker pause centos
centos
root@jia:/jia/jia# docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48e49042b927 centos:latest "/bin/bash" 14 seconds ago Up 13 seconds (Paused) centos
root@jia:/jia/jia#
容器暂停后会在状态处加(Paused)
unpause
取消容器暂停状态
语法
docker unpause 容器ID/容器名称
示例
取消centos容器的暂停操作
root@jia:/jia/jia# docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48e49042b927 centos:latest "/bin/bash" 14 seconds ago Up 13 seconds (Paused) centos
root@jia:/jia/jia# docker unpause centos
centos
root@jia:/jia/jia# docker ps -a //查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48e49042b927 centos:latest "/bin/bash" 5 minutes ago Up 5 minutes centos
root@jia:/jia/jia#
tag
给镜像进行打标签
语法
docker tag 源镜像ID/源镜像名称:tag(版本) 目标镜像名称:tag(版本)
示例
给centos镜像重新打标签
root@jia:/jia/jia# docker tag centos:latest centos:V1
root@jia:/jia/jia# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f7bb5701a33c 12 days ago 126MB
centos V1 0f3e07c0138f 3 months ago 220MB
centos latest 0f3e07c0138f 3 months ago 220MB
root@jia:/jia/jia#
wait
阻塞运行直到容器停止,然后打印出它的退出代码
语法
docekr wait 容器ID/容器名称
示例
root@jia:/jia/jia# docker run -itd --name nginx nginx //创建启动容器
57af5446f0eaff56a54c3a5559ac0073511de9b9f48c93ff04bbcd0c62b3a809
root@jia:/jia/jia# docker ps //查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57af5446f0ea nginx "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 80/tcp nginx
root@jia:/jia/jia# docker inspect nginx | grep IPAddress //查看容器IP地址
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
root@jia:/jia/jia# curl 172.17.0.2 //访问容器的80端口
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
root@jia:/jia/jia# docker wait nginx //启动阻塞
root@jia:~# curl 172.18.0.2 //发现无法访问容器nginx页面