安装docker及配置镜像源

5,109 阅读3分钟

1、安装 Docker

1.1、最简单安装方式

sudo apt-get update
sudo apt install docker.io

1.2、安装 apt 依赖包

sudo apt-get --no-install-recommends install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common

1.3、添加 Docker 的 GPG 密钥,官方站经常访问不了,可以使用其他站

Docker 官方源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
或者 中科大镜像站
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
或者 清华大学镜像站
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

1.4、 添加 Docker 软件源

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

但是 download.docker.com 经常不稳定,连接不上,换成阿里云或其他镜像

sudo vim /etc/apt/sources.list
改成
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable
重新更新索引包
sudo apt-get update
添加 Docker 软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

1.5、安装Docker

sudo apt-get --no-install-recommends install -y \
  docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • docker-ce: Docker Community Edition,是 Docker 的开源版本。
  • docker-ce-cli: Docker 命令行工具,用于与 Docker 引擎交互。
  • containerd.io: 这是 Docker 使用的核心容器运行时,负责容器的生命周期管理。
  • --no-install-recommends: 这个选项只安装指定的包及其必要的依赖,而不安装额外的推荐软件包。
  • docker-compose-plugin: 这是 Docker Compose 插件。

1.6、安装 docker-compose

sudo apt install docker-compose

docker-compose --version

#上面一般下载的是 1.25 版本 ,版本过低 , 使用以下命令会下载最新的 docker-compose
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/bin/docker-compose

chmod +x /usr/bin/docker-compose

以前安装过 docker-compose 版本过低可以直接替换掉 /usr/local/bin 里的 docker-compose

2、添加 Docker Hub 镜像

网易云 Docker 镜像:hub-mirror.c.163.com

百度云 Docker 镜像:mirror.baidubce.com

腾讯云 Docker 镜像:ccr.ccs.tencentyun.com

Docker Proxy 镜像:dockerproxy.com

阿里云 Docker 镜像(需要使用阿里账号):cr.console.aliyun.com/

2.1、配置镜像仓库 打开 /etc/docker/daemon.json ,没有可以直接创建

sudo vim /etc/docker/daemon.json

添加配置,自行添加

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://do.nark.eu.org",
    "https://dc.j8.work",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn",
    "https://docker.1panel.live",
    "https://docker.1panelproxy.com"
  ]
}

2.2、重新加载配置并重启Docker

sudo systemctl daemon-reload

sudo systemctl restart docker

3、Docker 常用命令

  • docker --version : 查看docker版本
  • docker run 镜像名称 : 运行镜像
  • docker ps -a : 查看当前所有的容器
  • docker ps : 查看当前运行中的容器
  • docker images : 查看镜像列表
  • docker rm 容器名/容器ID : 删除指定 id 的容器
  • docker stop/start/restart 容器名/容器ID : 停止/启动/重启指定 id 的容器
  • docker rmi image-id : 删除指定 id 的镜像
  • docker volume ls : 查看 volume 列表
  • docker network ls : 查看网络列表
  • docker inspect 容器名/容器ID : 查看容器详情
  • docker exec -it 容器名/容器ID /bin/bash : 与运行容器交互
  • docker commit 容器名/容器ID 镜像名:标签 : 保存当前容器为镜像
  • docker-compose --version : 显示 docker-compose 的版本信息
  • docker-compose config --services : 列出 docker-compose.yml 中配置的所有服务
  • docker-compose up : 启动 docker-compose.yml 的服务,使用 -d 在后台运行容器。
  • docker-compose up -d 服务名: 后台启动 docker-compose.yml 中定义的服务
  • docker-compose restart : 重启所有在 docker-compose 中定义的服务
  • docker-compose down : 停止和删除 docker-compose 容器
  • docker-compose stop : 停止正在运行的 docker-compose 所有容器
  • docker-compose start 容器名/容器ID: 启动已存在的容器
  • docker-compose build : 构建或重新构建服务镜像
  • docker-compose config : 验证并查看 docker-compose.yml 文件的配置
  • docker-compose -f xxx.yml ... : 使用其他的 yml 文件
  • docker logs -f 容器名/容器ID : 实时打印当前容器日志
  • docker logs 容器名/容器ID > /root/logs.log : 将日志写入 /root/logs.log 文件中导出
  • docker cp container:/xx/xx/1.txt /root/1.txt : 将容器内的文件复制到宿主机root目录下
  • docker cp /root/1.txt container:/data/config : 将宿主机root目录下文件放入到容器 /data/config 目录下
  • docker save -o jdk23 jdk:v23.1 : 将 docker 镜像 jdk:v23.1 打包为 jdk23 image 在当前目录
  • cat jdk23 | docker load : 将 jdk23 image 复原为 docker 镜像
  • docker build -t iot:v1.6.8 . :根据当前目录下的 Dockerfile 打包 docker 镜像 name 为 iot , tag 为 v1.6.8
  • docker tag IMAGE_ID your-image-name:your-tag : 重新标记镜像名和镜像标签