1 Docker镜像常用命令
查看本地所有的镜像
docker images
查看所有镜像的id
docker images -q
从网络中查找所需要的镜像
docker search 镜像名称
拉取镜像
docker pull 镜像名称:版本
删除指定本地镜像
docker rmi 镜像id
删除所有本地镜像
docker rmi docker images -q
2 Docker容器常用命令
创建容器(交互式容器),并进入命令行,一旦退出命令行容器就关闭了
docker run -it --name 容器名 镜像名:版本 bash
#创建容器(守护式容器),后台运行,[]为可选,重启docker时,自动启动相关容器。
docker run -id --name 容器名 镜像名:版本 [--restart always]
#启动容器
docker start 容器名
#停止容器
docker stop 容器名
#删除容器(先停止运行才行)
docker rm 容器名|容器id
#删除所有容器
docker rm `docker ps -aq`
#进入某个运行的容器的命令行(退出不会关闭容器)
docker exec -it 容器名 bash
# root模式
docker exec -it -u root 容器名 bash
#列出运行中的容器
docker ps
#列出所有容器
docker ps -a
#查看容器信息
docker inspect 容器名
#实时日志 最新100条,实时更新
docker logs -f --tail=100 容器名
#在启动时如果没有添加这个参数怎么办呢,比如某个容器在启动的时候是没有添加–restart=always参数的,针对这种情况我们可以使用命令进行修改。
docker update 容器名字 --restart=always
docker支持的restart策略
no - 容器退出时不要自动重启,这个是默认值
on-failure 在容器非正常退出时(退出状态非0),才会重启容器
on-failure[:max-retries] 当容器非正常退出超过设定的次数才会重启
always 不管退出状态码是什么,始终重启容器,当指定always时,docker daemon将无数次的重启容器,容器也会在daemon启动时尝试重启,不管容器的状态如何。
nuless-stopped 在容器退出时,总是重启,但不考虑在docker守护进程启动之时,就已经停止了的容器,
3 Docker容器数据卷常用命令
挂载必须使用绝对路径!
# 创建容器时挂载数据卷(让容器和外部宿主机进行数据传递)
docker run -it --name 容器名 -v 宿主机指定目录的 绝对路径:容器指定目录的绝对路径 镜像名
# 一个容器挂载多个目录(~相当于/root)
docker run -it --name 容器名 -v ~/data2:/root/data2 -v ~/data3:/root/data3 镜像名
# 创建数据卷容器(创建一个容器,挂载一个目录,让其他容器继承该容器)
docker run -it --name 容器名 -v /volume 镜像名
# 容器挂载到数据卷容器
docker run -it --name 容器名 --volumes-from 数据卷容器名 centos:centos7.9.2009
# 如果想把某个项目及其依赖的运行环境打包,可以使用如下命令
# 下面这些命令不常用,一般都是通过Dockerfile的形式来完成,见后文
docker 容器转镜像
docker commit 容器id 镜像名:版本号
docker镜像转压缩文件
docker save -o 压缩文件名(例如xxx.tar)镜像名:版本号
将文件转docker镜像
docker load -i 压缩文件名
# 下面两个命令比较重要
# 将容器的文件拷贝到宿主机中
docker cp 容器名:容器文件路径 宿主机文件路径
# 将宿主机的文件拷贝到容器中
docker cp 宿主机文件路径 容器名:容器文件路径