一、常规命令

1、启动 Docker

sudo systemctl start docker

2、停止 Docker

sudo systemctl stop docker

3、重启 Docker

sudo systemctl restart docker

4、修改配置后重启 Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

5、查看版本

docker version

6、查看Docker 信息

docker info

7、Docker 帮助

docker --help

二、

镜像命令

1、查看Docker上已经安装的镜像

docker images

2、搜索Docker hub上面的镜像

# 以tomcat为例
docker search tomcat

3、下载镜像

# 以下载tomcat为例
docker pull tomcat[:version]

4、删除镜像

# 以删除tomcat为例
docker rmi tomcat[:version]
# 通过镜像ID删除
docker rmi -f 镜像ID
# 通过镜像ID删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG
# 删除全部
# docker images -qa : 获取所有镜像ID
docker rmi -f $(docker images -qa)

三、容器命令

1、启动容器

docker run [options] image [command] [arg...]

常用参数:

-d: 后台运行容器,并返回容器ID

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

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

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

--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 run --name mynginx -d nginx:latest
# 映射多个端口
docker run -p 80:80/tcp -p 90:90 -v /data:/data -d nginx:latest

2、查看正在运行的Docker 容器

docker ps

常用参数:

# 显示所有容器,包括当前没有运行的容器
-a
# 显示最近创建的容器
-l
# 显示最近创建的N个容器
-n
# 静默模式,只显示容器ID
-q
# 不截断输出
--no-trunc

3、退出容器

# 退出并停止
exit
# 容器不停止退出
ctrl+P+Q

4、启动容器

docker start 容器ID或容器name

5、重启容器

docker restart 容器ID或容器name

6、停止容器

docker stop 容器ID或容器name

7、强制停止容器

docker kill 容器ID或容器name

8、删除容器

# 删除已经停止的容器
docker rm 容器ID或容器name
# 强制删除已经停止或正在运行的容器
docker rm -f 容器ID或容器name
#一次性删除所有正在运行的容器
docker rm -f $(docker ps -qa)

补充:

  # docker pure命令

  docker image pure # 删除所有未被 tag 标记和未被容器使用的镜像
  docker image prune -a # 删除所有未被容器使用的镜像
  docker container prune # 删除所有停止运行的容器

 

9、从容器拷贝文件到宿主机或从宿主机拷贝文件到容器

docker cp 容器ID或容器名称:/文件路径与文件名 宿主机地址

docker cp 宿主机地址 容器ID或容器名称:/文件路径与文件名

实例:

拷贝容器coco的tmp文件夹下的info.txt到宿主机的当前位置
docker cp coco:/tmp/info.txt .

四、日志命令

docker logs -f -t --tail 10 容器ID或容器名称

参数说明:

# 加入时间戳
-t
# 跟随最新的日志打印
-f
# 输出最后几行的日志
--tail 行数