本文最后更新于274 天前,其中的信息可能已经过时,如有错误请发送邮件到qiqin-chang@qq.com
安装及配置:
镜像库地址:https://hub.docker.com/
1.卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.配置阿里云yum源
yum repolist #检查yum源
3.7版本CentOS已经停止维护了
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
4.安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5.添加软件源信息(会在 /etc/yum.repos.d/ 目录下看到 docker-ce.repo 文件)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6.安装docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
7.启动和校验
\# 获取Docker版本
docker -v
\# 启动Docker
systemctl start docker
\# 停止Docker
systemctl stop docker
\# 重启
systemctl restart docker
\# 设置开机自启
systemctl enable docker
\# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps
8.CentOS配置镜像加速
获取镜像加速地址:在阿里云服务中搜索容器镜像服务-点击镜像工具-点击镜像加速器( 旁边有centOS7的docker安装教程)
阿里云镜像更新慢建议别用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.nju.edu.cn",
"https://hub.littlediary.cn",
"https://hub.xdark.top",
"https://dockerpull.org",
"https://hub.crdz.gq",
"https://docker.1panel.live",
"https://docker.unsee.tech"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
基本操作:
常见命令:
| 命令 | 说明 |
|---|---|
| docker pull | 拉取镜像 |
| docker push | 推送镜像到DockerRegistry |
| docker images | 查看本地镜像 |
| docker rmi | 删除本地镜像 |
| docker run | 创建并运行容器(不能重复创建) |
| docker stop | 停止指定容器 |
| docker start | 启动指定容器 |
| docker restart | 重新启动容器 |
| docker rm | 删除指定容器 |
| docker ps | 查看容器 |
| docker logs | 查看容器运行日志 |
| docker exec | 进入容器 -it (添加可输入终端) |
| docker save | 保存镜像到本地压缩文件 |
| docker load | 加载本地压缩文件到镜像 -i (加载镜像) |
| docker inspect | 查看容器详细信息 |
docker流程图:

docker run 命令的常见参数:
-d:让容器后台运行
--name;容器名
-e:环境变量
-p:宿主机端口映射到容器内端口
--env MODE=standalone 参数设置 单机版(开发时使用)
--restart=always 设置开机启动
镜像名称结构:
Repository:TAG
镜像名:版本号
设置容器别名:
vi ~/.bashrc # 编辑文件别名
# 按i进入编辑模式
# 按ESC进入命令模式
# 按:wq保存并退出
source ~/.bashrc # 保存文件别名
修改内容:
# 修改/root/.bashrc文件
vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
数据卷:
如何挂载数据卷:
在创建容器时,利用 -v 数据卷名:容器内目录 完成挂载
容器创建时,如果挂载的数据卷不存在则会自动创建
# 挂载本地目录
-v 本地目录:容器内目录
# 挂载本地文件
-v 本地文件:容器内文件
注意:本地目录或文件必须以 / 或 ./开头,如果直接以名字开头,会被识别为数据卷名而非本地目录名。
数据卷命令:
| 命令 | 说明 |
|---|---|
| docker volume ls | 查看所有数据卷 |
| docker volume rm | 删除指定数据卷 |
| docker volume inspect | 查看数据卷的详情 |
| docker volume prune | 删除所有未使用的数据卷 |
网络:
网络命令:
| 命令 | 说明 |
|---|---|
| docker network create | 创建一个网络 |
| docker network ls | 查看所有网络 |
| docker network rm | 删除指定网络 |
| docker network prune | 清除未使用的网络 |
| docker network connect | 使指定容器连接加入某网络 |
| docker network disconnect | 使指定容器连接离开某网络 |
| docker network inspect | 查看网络详细信息 |