简介

Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。现记录docker的常用命令,以备查询自用。持续更新中……

Docker生命周期命令

1
2
3
4
5
6
7
8
yum install -y docker
systemctl start docker
systemctl status docker
systemctl stop docker
systemctl restart docker
systemctl daemon-reload
docker version
docker info

-y参数:出现是否继续安装的选项时默认允许安装

Docler镜像命令

1
2
3
4
5
6
7
8
9
docker images
docker search tomcat
docker pull tomcat[:version]
docker tag flow2000/news:latest flow2000/news:1.0.0
docker rmi tomcat[:version]
docker rmi -f 镜像ID
docker rmi -f 镜像名1:TAG 镜像名2:TAG
docker images -qa
docker rmi -f $(docker images -qa)

Docler容器命令

1
2
3
4
5
6
7
8
9
docker run [options] image [command] [arg...]
docker ps
docker start 容器ID或容器name
docker restart 容器ID或容器name
docker stop 容器ID或容器name
docker kill 容器ID或容器name
docker rm 容器ID或容器name
docker rm -f 容器ID或容器name
docker rm -f $(docker ps -qa)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-d: 后台运行容器,并返回容器ID

-i: 以交互式运行容器,通常与-t同时使用

-p: 端口映射,格式为 主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与-i同时使用

-v: 目录挂载,格式为 主机(宿主)目录/文件:容器目录/文件

--name="name": 为容器指定一个名称

--dns 8.8.8.8: 为容器指定一个dns服务器,默认与宿主一致

--dns-search domain:为容器指定一个DNS域名,默认与宿主一致

-h "hostname": 指定容器的hostname

-e arg="value": 设置环境变量

-env-file=[]:从指定文件读入环境变量

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定的cpu运行

-m: 设置容器使用内存最大值

--net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container四种类型

--link=[]:添加链接到另外一个容器

--expose=[]:开放一个端口或一组端口,宿主机使用随机端口映射到开放的端口

Docker网络命令

1
2
3
4
5
6
7
8
9
docker network COMMAND

docker network connect 网络ID或网络name 容器ID或容器name
docker network create 容器ID或容器name
docker network disconnect 容器ID或容器name
docker network inspect 容器ID或容器name
docker network ls
docker network prune 容器ID或容器name
docker network rm 容器ID或容器name

Docker日志命令

1
docker logs -f -t --tail 10 容器ID或容器名称
1
2
3
4
5
6
# 加入时间戳
-t
# 跟随最新的日志打印
-f
# 输出最后几行的日志
--tail 行数

小技巧

更新容器

针对yum install dokcer -y 的用户

1
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR 容器名

官方文档

docker run | Docker Documentation