当前位置 : 主页 > 编程语言 > 其它开发 >

Docker常用命令

来源:互联网 收集:自由互联 发布时间:2022-05-30
一、服务相关命令 # 启动服务systemctl start docker# 服务状态systemctl status docker# 停止服务systemctl stop docker# 重启服务systemctl restart 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 - 镜像用户/镜像名:镜像版本号

 

 

【文章原创作者:香港云服务器 http://www.558idc.com/ne.html 复制请保留原URL】
网友评论