来自菜鸟教程
docker run :创建一个新的容器并运行一个命令
语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin:指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d:后台运行容器,并返回容器ID;
-i:以交互模式运行容器,通常与 -t 同时使用;
-p:端口映射,格式为:主机(宿主)端口:容器端口
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb":为容器指定一个名称;
--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: 四种类型;
--link=[]:添加链接到另一个容器;
--expose=[]:开放一个端口或一组端口;
实例:
1)使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
2)使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
3)使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
4)绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
5)使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/#
docker kill:杀掉一个运行中的容器。
语法:
docker kill [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-s :向容器发送一个信号
实例:
杀掉运行中的容器mynginx
runoob@runoob:~$ docker kill -s KILL mynginx
mynginx
docker start:启动一个或多少已经被停止的容器
docker stop:停止一个运行中的容器
docker restart:重启容器
语法:
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
实例:
1)启动已被停止的容器myrunoob
docker start myrunoob
2)停止运行中的容器myrunoob
docker stop myrunoob
3)重启容器myrunoob
docker restart myrunoob
docker rm :删除一个或多少容器
语法:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-f :通过SIGKILL信号强制删除一个运行中的容器
-l :移除容器间的网络连接,而非容器本身
-v :-v 删除与容器关联的卷
实例:
1)强制删除容器db01、db02
docker rm -f db01 db02
2)移除容器nginx01对容器db01的连接,连接名db
docker rm -l db
3)删除容器nginx01,并删除容器挂载的数据卷
docker rm -v nginx01
docker ps : 列出容器
语法:
docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
实例:
1)列出所有在运行的容器信息。
runoob@runoob:~$ docker ps
CONTAINER ID IMAGE COMMAND ... PORTS NAMES09b93464c2f7 nginx:latest "nginx -g 'daemon off" ... 80/tcp, 443/tcp myrunoob96f7f14e99ab mysql:5.6 "docker-entrypoint.sh" ... 0.0.0.0:3306->3306/tcp mymysql
2)列出最近创建的5个容器信息。
runoob@runoob:~$ docker ps -n 5CONTAINER ID IMAGE COMMAND CREATED 09b93464c2f7 nginx:latest "nginx -g 'daemon off" 2 days ago ...
b8573233d675 nginx:latest "/bin/bash" 2 days ago ...
b1a0703e41e7 nginx:latest "nginx -g 'daemon off" 2 days ago ...
f46fb1dec520 5c6e1090e771 "/bin/sh -c 'set -x \t" 2 days ago ...
a63b4a5597de 860c279d2fec "bash" 2 days ago ...
3)列出所有创建的容器ID。
runoob@runoob:~$ docker ps -a -q09b93464c2f7b8573233d675
b1a0703e41e7
f46fb1dec520
a63b4a5597de6a4aa42e947bde7bb36e796843a432b73776664a8ab1a585ba52eb632bbd...
docker login :登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout :登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法:
docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]
OPTIONS说明:
-u :登陆的用户名
-p :登陆的密码
实例:
1)登陆到Docker Hub
docker login -u 用户名 -p 密码
2)登出Docker Hub
docker logout
docker pull : 从镜像仓库中拉取或者更新指定镜像
语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS说明:
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
实例:
1)从Docker Hub下载java最新版镜像。
docker pull java
2)从Docker Hub下载REPOSITORY为java的所有镜像。
docker pull -a java
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
语法:
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启
实例:
上传本地镜像myapache:v1到镜像仓库中。
docker push myapache:v1
docker images : 列出本地镜像。
语法:
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。
实例:
1)查看本地镜像列表。
runoob@runoob:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mymysql v1 37af1236adef 5 minutes ago 329 MB
runoob/ubuntu v4 1c06aa18edee 2 days ago 142.1 MB
5c6e1090e771 2 days ago 165.9 MB
httpd latest ed38aaffef30 11 days ago 195.1 MB
alpine latest 4e38e38c8ce0 2 weeks ago 4.799 MB
mongo 3.2 282fd552add6 3 weeks ago 336.1 MB
redis latest 4465e4bcad80 3 weeks ago 185.7 MB
php 5.6-fpm 025041cd3aa5 3 weeks ago 456.3 MB
python 3.5 045767ddf24a 3 weeks ago 684.1 MB
...
2)列出本地镜像中REPOSITORY为ubuntu的镜像列表。
root@runoob:~# docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 9 weeks ago 188 MB
ubuntu 15.10 4e3b13c8a266 3 months ago 136.3 MB