Linux 安裝 Docker ¶
注意
若系统中已安装旧版本 docker , 则需要卸载旧版本docker以及与旧版本 docker 相关的依赖项.
sh
//命令
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine//命令
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine1. 更新系统上当前安装的每个软件包 ¶
一路按 Y 直到安裝完成
sh
yum updateyum update2. 安装所需的软件包 ¶
sh
yum install -y yum-utils device-mapper-persistent-data lvm2yum install -y yum-utils device-mapper-persistent-data lvm23. 设置稳定的仓库, 如果使用官方源地址会比较慢 ¶
sh
//官方地址
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//阿里云地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//清华大学源
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo//官方地址
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//阿里云地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//清华大学源
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo4. 安装 docker ¶
提示
如果没有指定版本, 默认安装最新版
sh
yum install docker-ce docker-ce-cli containerd.ioyum install docker-ce docker-ce-cli containerd.io使用 yum list docker-ce --showduplicates | sort -r 命令列出存储库中可用的版本
sh
//通过其完整的软件包名称安装特定版本, 如docker-ce-20.10.9
yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io//通过其完整的软件包名称安装特定版本, 如docker-ce-20.10.9
yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io5. 启动docker ¶
sh
//开机启动
systemctl enable docker
//启动docker
systemctl start docker
//重启docker
systemctl restart docker//开机启动
systemctl enable docker
//启动docker
systemctl start docker
//重启docker
systemctl restart docker6. 验证docker是否正确安装 ¶
sh
//查看版本号
docker version
//执行 若结果显示 "Hello from docker", 则说明docker正确安装
docker run hello-world//查看版本号
docker version
//执行 若结果显示 "Hello from docker", 则说明docker正确安装
docker run hello-worlddocker常用命令 ¶
sh
docker常用命令
# 查看docker版本
docker version
# 查看docker详细信息
docker info
# 查看docker命令
docker --help
镜像命令
# 查看docker镜像
docker images
# 列出本地所有的镜像
docker images -a
# 只显示镜像ID
docker images -q
# 显示镜像的摘要信息
docker images --digests
# 显示完整的镜像信息
docker images --no-trunc
# 从docker Hub上查找tomcat镜像
docker search tomcat
# 从docker Hub上下载tomcat镜像
docker pull tomcat
或 docker pull tomcat:latest
# 提交容器使之成为一个新的镜像
docker commit -m "提交的描述信息" -a "作者" 容器ID 要创建的目标镜像名称:[标签名]
如:docker commit -m "新的tomcat" -a "YM" b10b019a21c2 mytomcat:1.2
# 从docker中删除hello-world镜像
docker rmi hello-world
# 从docker中强制删除hello-world镜像
docker rmi -f hello-world
# 从docker中强制删除hello-world镜像和nginx镜像
docker rmi -f hello-world nginx
# 通过docker images -p查询到的镜像ID来删除所有镜像
docker rmi -f $(docker images -p)
容器命令
# 根据镜像新建并启动容器
格式:docker run -it -d --name [容器名称] [镜像名称:镜像标签] /bin/bash
命令:docker run -it -d --name tomcat1 tomcat:latest /bin/bash
# 列出当前所有正在运行的容器
docker ps
# 列出所有的容器
docker ps -a
# 列出最近创建的容器
docker ps -l
# 列出最近创建的3个容器
docker ps -n 3
# 只显示容器ID
docker ps -q
# 显示当前所有正在运行的容器完整信息
docker ps --no-trunc
# 启动容器
docker start [容器ID]或[容器名称]
# 重新启动容器
docker restart [容器ID]或[容器名称]
# 停止容器
docker stop [容器ID]或[容器名称]
# 强制停止容器
docker kill [容器ID]或[容器名称]
# 删除容器
docker rm [容器ID]或[容器名称]
或 docker rm -f [容器ID]或[容器名称]
# 强制删除多个容器
docker rm -f $(docker ps -a -q)
# 查看容器日志
格式:docker logs -f -t --since --tail [容器ID]或[容器名称]
命令:docker logs -f -t --since=”2021-09-10” --tail=10 b10b019a21c2
注释:
-f:查看实时日志
-t:查看日志产生的日期
--since:只输出指定日期之后的日志
--tail=10:查看最后的10条日志
# 查看容器内运行的进程
docker top [容器ID]或[容器名称]
# 查看容器内部细节
docker inspect [容器ID]或[容器名称]
# 进到容器内
docker attach [容器ID]
或 docker exec -it [容器ID] /bin/bash
# 宿主机路径从容器内拷贝文件到宿主机(不用进入容器)
docker cp 容器ID:容器内的文件路径 宿主机文件路径
卸载docker
# 卸载docker
命令:systemctl stop docker
yum remove docker-ce docker-ce-cli http://containerd.io
# 删除安装包
命令:yum remove docker-ce
# 删除镜像、容器、配置文件等内容
命令:rm -rf /var/lib/docker
rm -rf /var/lib/containerddocker常用命令
# 查看docker版本
docker version
# 查看docker详细信息
docker info
# 查看docker命令
docker --help
镜像命令
# 查看docker镜像
docker images
# 列出本地所有的镜像
docker images -a
# 只显示镜像ID
docker images -q
# 显示镜像的摘要信息
docker images --digests
# 显示完整的镜像信息
docker images --no-trunc
# 从docker Hub上查找tomcat镜像
docker search tomcat
# 从docker Hub上下载tomcat镜像
docker pull tomcat
或 docker pull tomcat:latest
# 提交容器使之成为一个新的镜像
docker commit -m "提交的描述信息" -a "作者" 容器ID 要创建的目标镜像名称:[标签名]
如:docker commit -m "新的tomcat" -a "YM" b10b019a21c2 mytomcat:1.2
# 从docker中删除hello-world镜像
docker rmi hello-world
# 从docker中强制删除hello-world镜像
docker rmi -f hello-world
# 从docker中强制删除hello-world镜像和nginx镜像
docker rmi -f hello-world nginx
# 通过docker images -p查询到的镜像ID来删除所有镜像
docker rmi -f $(docker images -p)
容器命令
# 根据镜像新建并启动容器
格式:docker run -it -d --name [容器名称] [镜像名称:镜像标签] /bin/bash
命令:docker run -it -d --name tomcat1 tomcat:latest /bin/bash
# 列出当前所有正在运行的容器
docker ps
# 列出所有的容器
docker ps -a
# 列出最近创建的容器
docker ps -l
# 列出最近创建的3个容器
docker ps -n 3
# 只显示容器ID
docker ps -q
# 显示当前所有正在运行的容器完整信息
docker ps --no-trunc
# 启动容器
docker start [容器ID]或[容器名称]
# 重新启动容器
docker restart [容器ID]或[容器名称]
# 停止容器
docker stop [容器ID]或[容器名称]
# 强制停止容器
docker kill [容器ID]或[容器名称]
# 删除容器
docker rm [容器ID]或[容器名称]
或 docker rm -f [容器ID]或[容器名称]
# 强制删除多个容器
docker rm -f $(docker ps -a -q)
# 查看容器日志
格式:docker logs -f -t --since --tail [容器ID]或[容器名称]
命令:docker logs -f -t --since=”2021-09-10” --tail=10 b10b019a21c2
注释:
-f:查看实时日志
-t:查看日志产生的日期
--since:只输出指定日期之后的日志
--tail=10:查看最后的10条日志
# 查看容器内运行的进程
docker top [容器ID]或[容器名称]
# 查看容器内部细节
docker inspect [容器ID]或[容器名称]
# 进到容器内
docker attach [容器ID]
或 docker exec -it [容器ID] /bin/bash
# 宿主机路径从容器内拷贝文件到宿主机(不用进入容器)
docker cp 容器ID:容器内的文件路径 宿主机文件路径
卸载docker
# 卸载docker
命令:systemctl stop docker
yum remove docker-ce docker-ce-cli http://containerd.io
# 删除安装包
命令:yum remove docker-ce
# 删除镜像、容器、配置文件等内容
命令:rm -rf /var/lib/docker
rm -rf /var/lib/containerd