一、服务相关命令 # 启动服务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】