返回顶部

Docker常用命令

一、服务相关命令

# 启动服务
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

 

 

 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是否维护对应镜像文件的版本可以在官网进行查找 :https://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 - 镜像用户/镜像名:镜像版本号

 

 

posted @ 2022-04-30 22:33  SportSky  阅读(115)  评论(0编辑  收藏  举报
作者:SportSky 出处: http://www.cnblogs.com/sportsky/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。