Docker中常用的命令有哪些?

2026-05-22 08:012阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1117个文字,预计阅读时间需要5分钟。

Docker中常用的命令有哪些?

一、服务相关命令:

1. 查看服务状态:systemctl status

2.启动服务:systemctl start

3.停止服务:systemctl stop

4.重启服务:systemctl restart

5.设置开机自启:systemctl enable

6.禁用开机自启:systemctl disable

一、服务相关命令

# 启动服务 systemctl start docker # 服务状态 systemctl status docker # 停止服务 systemctl stop docker # 重启服务 systemctl restart docker # 设置开机自启动之前需执行该命令,不然可能会报错 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 开机自启动 systemctl enable docker 二、镜像相关命令

思考:什么是docker虚悬镜像?

仓库名、标签都是<none>的镜像,俗称虚悬镜像danging image

1、查看镜像

# 查看镜像
docker images
docker images -a

# 查看所有镜像的id
docker images -q

# 查看镜像/容器/数据卷所占的空间
docker system df

2、搜索镜像文件,比如搜索Redis

docker search redis

Docker中常用的命令有哪些?

3、下载镜像文件,比如redis

# 下载最新版本,即latest版本 docker pull redis # 下载对应版本 docker pull redis:5.0

# 删掉镜像文件,通过镜像id或名字和版本进行删除都是可以的,如下

docker rmi -f 镜像Id

docker rmi -f redis:5.0
加上-f参数代表强制删除


# 删除所有镜像
docker rmi `docker images -q`

要想查看docker是否维护对应镜像文件的版本可以在官网进行查找 :hub.docker.com/

三、容器命令

# 查看正在运行的容器 docker ps # 查看正在运行的容器以及已经关闭的容器 docker ps -a # 创建容器(例如:将5.0版本的redis创建到名为c1的容器内) docker run -id --name=c1 redis:5.0 /bin/bash(方式一例如:将5.0版本的redis创建到名为c1的容器内)
docker run -id --name=c1 容器id /bin/bash (方式二例如:将镜像文件id为xxx的redis创建到名为c1的容器内)

参数说明: -i :保持容器运行。通常与-t同时使用,加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。 -t :为容器重新分配一个伪输入终端,通常与-i同时使用。 -d :以守护(后台)模式运行容器,创建一个容器在后台运行,需要使用docker exec 进入容器,退出后,容器不会关闭。 -it :创建的容器一般称为交互式容器,-id创建的容器一般称为守护式容器 --name :为创建的容器命名
-P:随机端口映射,大写P
-p:指定端口映射,小写p(例如:-p 6379:6379 左边代表宿主机端口,右边代表docker容器端口) # 进入容器 docker exec -it 容器名称 /bin/bash
docker attach 容器名称/容器id
两者区别:attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止,推荐使用。

# 退出容器 exit (run进去容器,exit退出,容器会停止)
ctrl+p+q (run进去容器,ctrl+p+q退出,容器不停止) # 启动容器 docker start 容器名称/容器id

# 重启容器
docker restart 容器名称/容器id # 停止容器 docker stop 容器名称/容器id

# 强制停止容器
docker kill 容器id/容器名称 # 删除容器(无法删除正在运行的容器,需要先停止该容器再进行删除操作) docker rm 容器id/容器名称

# 强制删除
docker rm -f 容器id/容器名称 # 查看容器信息 docker inspect 容器名称/容器id

# 查看容器日志
docker logs 容器id/容器名称

# 查看容器内进行运行的进程
docker top 容器名称/容器id

# 从容器内拷贝文件到主机上 (注:如果是在容器内,需要exit先切换到宿主机上)
docker cp 容器id:容器内路径 目的主机路径 (例如:docker cp 123123:/data/test.txt /data id为123123的容器,将/data/test.txt文件拷贝到宿主机/data目录下)


# 导入和导出容器
export 导出容器的内容留作为一个tar归档文件[对应import命令]
import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export命令]

docker export 容器id > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

本文共计1117个文字,预计阅读时间需要5分钟。

Docker中常用的命令有哪些?

一、服务相关命令:

1. 查看服务状态:systemctl status

2.启动服务:systemctl start

3.停止服务:systemctl stop

4.重启服务:systemctl restart

5.设置开机自启:systemctl enable

6.禁用开机自启:systemctl disable

一、服务相关命令

# 启动服务 systemctl start docker # 服务状态 systemctl status docker # 停止服务 systemctl stop docker # 重启服务 systemctl restart docker # 设置开机自启动之前需执行该命令,不然可能会报错 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 开机自启动 systemctl enable docker 二、镜像相关命令

思考:什么是docker虚悬镜像?

仓库名、标签都是<none>的镜像,俗称虚悬镜像danging image

1、查看镜像

# 查看镜像
docker images
docker images -a

# 查看所有镜像的id
docker images -q

# 查看镜像/容器/数据卷所占的空间
docker system df

2、搜索镜像文件,比如搜索Redis

docker search redis

Docker中常用的命令有哪些?

3、下载镜像文件,比如redis

# 下载最新版本,即latest版本 docker pull redis # 下载对应版本 docker pull redis:5.0

# 删掉镜像文件,通过镜像id或名字和版本进行删除都是可以的,如下

docker rmi -f 镜像Id

docker rmi -f redis:5.0
加上-f参数代表强制删除


# 删除所有镜像
docker rmi `docker images -q`

要想查看docker是否维护对应镜像文件的版本可以在官网进行查找 :hub.docker.com/

三、容器命令

# 查看正在运行的容器 docker ps # 查看正在运行的容器以及已经关闭的容器 docker ps -a # 创建容器(例如:将5.0版本的redis创建到名为c1的容器内) docker run -id --name=c1 redis:5.0 /bin/bash(方式一例如:将5.0版本的redis创建到名为c1的容器内)
docker run -id --name=c1 容器id /bin/bash (方式二例如:将镜像文件id为xxx的redis创建到名为c1的容器内)

参数说明: -i :保持容器运行。通常与-t同时使用,加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。 -t :为容器重新分配一个伪输入终端,通常与-i同时使用。 -d :以守护(后台)模式运行容器,创建一个容器在后台运行,需要使用docker exec 进入容器,退出后,容器不会关闭。 -it :创建的容器一般称为交互式容器,-id创建的容器一般称为守护式容器 --name :为创建的容器命名
-P:随机端口映射,大写P
-p:指定端口映射,小写p(例如:-p 6379:6379 左边代表宿主机端口,右边代表docker容器端口) # 进入容器 docker exec -it 容器名称 /bin/bash
docker attach 容器名称/容器id
两者区别:attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止,推荐使用。

# 退出容器 exit (run进去容器,exit退出,容器会停止)
ctrl+p+q (run进去容器,ctrl+p+q退出,容器不停止) # 启动容器 docker start 容器名称/容器id

# 重启容器
docker restart 容器名称/容器id # 停止容器 docker stop 容器名称/容器id

# 强制停止容器
docker kill 容器id/容器名称 # 删除容器(无法删除正在运行的容器,需要先停止该容器再进行删除操作) docker rm 容器id/容器名称

# 强制删除
docker rm -f 容器id/容器名称 # 查看容器信息 docker inspect 容器名称/容器id

# 查看容器日志
docker logs 容器id/容器名称

# 查看容器内进行运行的进程
docker top 容器名称/容器id

# 从容器内拷贝文件到主机上 (注:如果是在容器内,需要exit先切换到宿主机上)
docker cp 容器id:容器内路径 目的主机路径 (例如:docker cp 123123:/data/test.txt /data id为123123的容器,将/data/test.txt文件拷贝到宿主机/data目录下)


# 导入和导出容器
export 导出容器的内容留作为一个tar归档文件[对应import命令]
import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export命令]

docker export 容器id > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号