记几个docker的命令

2018-08-15  本文已影响0人  咸鱼_dd61

来自菜鸟教程

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

上一篇下一篇

猜你喜欢

热点阅读