安装Docker
使用 Docker 仓库进行安装
卸载老版 Docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装 Docker 仓库
yum install -y yum-utils
yum-utils 提供了 yum-config-manager
添加 Yum源
官网提供的yum源(不推荐),其下载比较慢。
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
阿里提供的yum源(推荐)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker引擎
执行如下命令,默认安装的是最新版本的 Docker引擎
yum install -y docker-ce docker-ce-cli containerd.io
如需要安装其他版本,使用如下命令查看 Docker 版本
[root@server20 ~]# yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
安装其他版本命令:
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
验证 Docker是否安装成功
docker version
通用安装方式
下载安装脚本
curl -fsSL get.docker.com -o get-docker.sh
执行安装脚本
sh get-docker.sh --mirror Aliyun
配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://puuz13iy.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker 服务相关命令
systemctl start docker # 启动 Docker
systemctl status docker # 查看 Docker 状态
systemctl stop docker # 停止 Docker
systemctl restart docker # 重启 Docker
systemctl enable docker # 设置 Docker 开机自启
常用命令
辅助命令
docker version # 查看docker版本
docker info # 查看docker详细信息
docker --help # 帮助手册
Images镜像命令
docker search 镜像名称 # 搜索镜像
docker search mysql # 搜索 mysql 相关镜像
docker pull 镜像名[:tags] # 拉取镜像
docker pull mysql:5.7 # 拉取Mysql5.7 镜像
docker pull tomcat:jdk8
docker images # 查看镜像
docker images -a # 查看所有镜像
docker images -q # 查看镜像的 id
docker rmi 镜像id或镜像名 # 删除镜像
1、通常我们搜索镜像都是去 hub.docker.com,而不是使用 docker search 2、使用 docker rmi 删除正在运行的镜像会报错。如何解决? 方法①、将该镜像对应的容器停止,然后再删除 方法②、docker rmi -f 镜像名或镜像id 强制删除
容器相关命令
容器运行—docker run 命令
docker run 镜像名 # 运行新的容器
docker run 命令后面可以跟很多选项,具体可以参考帮助文档,使用
docker run --help # 参考具体用法
常用选项
-d # 后台运行
-p # 端口映射 宿主机端口:容器内端口
--name # 给容器起别名
例如:
docker run -d --name tomcat8.5 -p 8081:8080 tomcat:8.5-jdk8
查看容器 — docker ps 命令
docker ps # 查看正在运行的容器
docker ps -a # 查看所有的容器,包含停止了的容器
docker ps -q # 查看正在运行容器 id
docker ps -qa # 查看所有容器 id
容器启停命令
docker start 容器名或容器id # 启动容器
docker stop 容器名或容器id # 停止容器
docker restart 容器名或容器id # 重启容器
docker kill 容器名或容器id # 杀死正在运行容器
删除容器
docker rm -f 容器名或容器id # 删除某个容器
docker rm -f $(docker ps -qa) # 删除所有容器
查看容器内进程
docker top 容器名或容器id
查看容器运行的日志
docker logs -f 容器名或容器id
docker logs -f 248d0c0b2785
查看容器内部细节
docker inspect 容器id
docker inspect 248d0c0b2785
进入容器内部
docker exec -it 容器名或容器id /bin/bash
docker exec -it 248d0c0b2785 /bin/bash
输入 exit 退出容器内部
文件拷贝
cp 命令实现文件拷贝
docker cp 文件|目录 容器id:容器路径 ----------------- 将宿主机复制到容器内部
docker cp 容器id:容器内资源路径 宿主机目录路径 ----------------- 将容器内资源拷贝到主机上
数据卷 — docker volume
数据卷帮助命令
[root@localhost data]# docker volume --help
Usage: docker volume COMMAND
Manage volumes
Commands:
create 创建数据卷
inspect 查看数据卷详细情况
ls 列举出有哪些数据卷
prune 移除无效的数据卷
rm 删除数据卷
创建数据卷
docker volume create 数据卷名 #创建数据卷
docker volume create my-vol
列举数据卷
[root@localhost data]# docker volume ls
DRIVER VOLUME NAME
local my-vol
查看数据卷
docker volume inspect 数据卷名
[root@localhost data]# docker volume inspect my-vol
[
{
"CreatedAt": "2021-08-30T12:04:07+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
"Name": "my-vol",
"Options": {},
"Scope": "local"
}
]
挂载数据卷
docker run -d --name mytomcat -p 8082:8080
-v my-vol:/usr/local/tomcat/webapps tomcat:8.5-jdk8
# 使用 -v 参数指定将哪个数据卷挂载到哪个目录下,
# 如果 -v 后面指定的数据卷之前没有创建,这里也会自动帮我们创建