Skip to content

Docker 简介

Docker 是什么?

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

参考文档

安装

Windows

下载

Docker Desktop下载地址:https://www.docker.com/products/docker-desktop/

alt text

配置

在安装前需要对 windows 系统进行一些配置 启用或关闭 windows 功能,开启 Hyper-V 和 Linux 子系统(WSL2)

alt text

安装

双击安装程序,傻瓜式安装即可

alt text

alt text

接收协议

alt text

跳过登录

alt text

跳过调查

alt text

进入之后就可以愉快的食用了

alt text

配置镜像加速

已华为云为例:其他镜像源可自行搜索

登录华为云,找到镜像加速地址,请参考华为云镜像加速地址,然后把地址加入到配置文件中

alt text

卸载

直接在控制面板点右键卸载即可

alt text

Linux

配置

  • 云服务:华为云
  • 规格:2vCPUs | 4GiB | c7.large.2
  • 镜像:CentOS 7.9 64bit

设置华为云 yum 源

说明

  • 只是为了下载速度更快,不是必要步骤
  1. 查看源信息
bash
yum repolist

alt text

  1. 备份配置文件
bash
cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 下载华为云的CentOS-Base.repo文件到/etc/yum.repos.d/目录下
bash
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/artifactory/os-conf/centos/centos-7.repo
  1. 清除原有 yum 缓存
bash
yum clean all
  1. 刷新缓存
bash
yum makecache
  1. 或者查看所有配置可以使用的文件,也会自动刷新缓存
bash
yum repolist all
  1. 查看源信息
bash
yum repolist

alt text

还原 yum 源

说明

  • 只是为了记录如何还原 yum 源,可忽略
  1. 还原CentOS-Base.repo文件
bash
cp -a /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo
  1. 清除原有 yum 缓存
bash
yum clean all
  1. 刷新缓存
bash
yum makecache
  1. 或者查看所有配置可以使用的文件,也会自动刷新缓存
bash
yum repolist all
  1. 查看源信息
bash
yum repolist

安装 docker

Docker-Ce 华为镜像安装文档

  1. 若您安装过 docker,需要先卸载,之后再安装依赖
bash
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 根据版本不同,下载 repo 文件,这里是 CentOS/RHEL 系统
bash
wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
bash
cat /etc/yum.repos.d/docker-ce.repo

alt text

  1. 替换软件仓库地址
bash
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
bash
cat /etc/yum.repos.d/docker-ce.repo

alt text

  1. 更新索引文件
bash
sudo yum makecache
  1. 安装 docker
bash
sudo yum install docker-ce
  1. 查看 docker 版本
bash
docker --version
  1. 开机自启
bash
systemctl enable docker
  1. 启动 docker
bash
systemctl start docker

设置镜像加速

设置华为云镜像加速地址

  1. 在华为云控制台找到镜像加速地址

alt text

  1. 将加速器地址复制到剪切板,在 linux 系统中执行即可
bash
cat >> /etc/docker/daemon.json << EOF
{
    "registry-mirrors": [ "https://xxxx.swr.myhuaweicloud.com" ]
}
EOF

alt text

  1. 重启 docker
bash
systemctl restart docker
  1. 检查是否配置成功
bash
docker info

alt text

安装 docker-compose

  1. 下载最新版本的 Docker Compose
bash
curl -SL https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

说明

  • 使用 curl 方式安装下载很慢,可以先在本地下载 docker-compose 离线安装包:
  • 国外下载地址:https://github.com/docker/compose/releases
  • 下载完后将离线安装包上传到 /usr/local/bin/ 目录。
  • docker-compose 安装包是一个名为 docker-compose 的文件,没有后缀名

alt text

  1. 给可执行权限给下载的二进制文件
bash
sudo chmod +x /usr/local/bin/docker-compose
  1. 创建软链接以便于从任何位置调用 docker-compose 命令
bash
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  1. 验证安装是否成功
bash
docker-compose --version

alt text

卸载 docker

  1. 先删掉 docker 资源
bash
docker rm -f $(docker ps -aq)               # 删掉所有容器
docker rmi $(docker images -aq)             # 删掉所有镜像
docker network rm $(docker network ls -q)   # 删掉所有网络
docker volume rm $(docker volume ls -q)     # 删掉所有存储卷
  1. 查看相关包
bash
yum list installed | grep docker
  1. 删除相关包
bash
yum remove containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin
  1. 删除 docker 相关文件
bash
rm -rf /var/lib/docker
rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/run/docker.sock

命令清单

仓库命令

命令描述
docker login登录仓库
docker logout登出仓库
docker pull下载镜像
docker push上传镜像
docker search搜索镜像

镜像命令

命令描述
docker images列出本地主机上的镜像
docker history显示镜像的历史记录
docker inspect获取有关 Docker 对象的详细信息
docker tag给镜像添加新的标签
docker save将一个或多个镜像保存成压缩(tar)存档
docker load从 tar 存档或 STDIN 加载镜像
docker build从 Dockerfile 构建映像
docker rmi删除一个或多个镜像

容器命令

命令描述
docker ps列出容器
docker top列出容器中运行进程
docker port列出端口映射或容器的特定映射
docker stats显示容器资源使用情况统计信息的实时流
docker logs获取容器的日志
docker create基于镜像创建容器
docker rename重命名容器
docker run新建并启动容器
docker start启动一个或多个已停止的容器
docker restart重新启动一个或多个容器
docker exec进入运行中的容器
docker stop停止一个或多个运行中的容器
docker commit根据容器的更改创建新镜像
docker cp在容器和本地文件系统之间复制文件/文件夹
docker kill杀死一个或多个正在运行的容器
docker rm删除一个或多个容器

数据卷命令

命令描述
docker volume ls列出所有卷
docker volume create创建卷
docker volume inspect显示一个或多个卷上的详细信息
docker volume rm删除一个或多个卷
docker volume prune删除所有未使用的本地卷

网络命令

命令描述
docker network ls列出所有网络
docker network create创建一个网络
docker network inspect返回有关一个或多个网络的信息
docker network connect将容器连接到网络
docker network disconnect断开容器与网络的连接
docker network rm删除一个或多个网络
docker network prune删除所有未使用的网络

清理命令

命令描述
清理镜像
清理容器
清理数据卷
清理网络
清理所有