Docker初始化环境

Docker安装和使用

- 系统要求

在开始安装Docker之前,请确保操作系统满足以下基本要求:

  • 64位Linux操作系统(以 Alibaba Cloud Linux3 为例)
  • 至少2GB的RAM(推荐 4GB 或更多)

systemversion

*Alibaba Cloud Linux 3兼容CentOS 8、RHEL 8生态,默认搭载阿里云CLI。

- 安装Docker

  • 设置Docker官方源:
1
2
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

source

  • 安装Docker Engine:
1
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

docker

  • 查看已安装Docker版本:
1
docker -v

ver

  • 启动Docker服务:
1
sudo systemctl start docker

start

  • 注册Docker服务(开机启动):
1
sudo systemctl enable docker
  • 查看所有容器:
1
docker ps -a
  • 拉取镜像:
1
docker pull <image>:<tag>

- (可选)安装Docker Compose

上述步骤包含Docker Compose组件,如需单独安装,可执行以下命令。

1
2
sudo yum update
sudo yum install docker-compose-plugin

compose

*Docker文档引用并描述Compose V2的功能。自2023年7月起,Compose V1停止接收更新,不再在新的Docker Desktop版本中。Compose V2已经取代了它,现在集成到所有当前的Docker Desktop版本中。

- (可选)使用阿里云提供的源安装Docker

  • 运行以下命令,添加docker-ce的dnf源。

    1
    sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。

    1
    sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
  • 运行以下命令,安装Docker。

    1
    sudo dnf -y install docker-ce --nobest
    • 如果执行命令时,出现类似如下的报错信息,需要执行sudo dnf clean packages清除软件包缓存后,重新安装docker-ce。

      1
      2
      3
      4
      5
      (8-9/12): docker-ce-24.0.7-1.el8.x86_64.rpm 38% [================- ] 8.2 MB/s | 38 MB 00:07 ETA
      The downloaded packages were saved in cache until the next successful transaction.
      You can remove cached packages by executing 'dnf clean packages'.
      Error: Error downloading packages:
      containerd.io-1.6.26-3.1.el8.x86_64: Cannot download, all mirrors were already tried without success
    • 如果执行命令时,出现类似下图的报错信息,您需要注释/etc/yum.repos.d下的CentOS源,注释后重新安装docker-ce。

      p477222

  • 管理Docker守护进程

    1
    2
    3
    4
    5
    sudo systemctl start docker     #运行Docker守护进程
    sudo systemctl stop docker #停止Docker守护进程
    sudo systemctl restart docker #重启Docker守护进程
    sudo systemctl enable docker #设置Docker开机自启动
    sudo systemctl status docker #查看Docker的运行状态
  • 修改标签。如果镜像名称较长,您可以修改镜像标签以便记忆区分。

    1
    sudo docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
  • 查看已有镜像。

    1
    sudo docker images
  • 强制删除镜像。

    1
    sudo docker rmi -f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
  • 将容器做成镜像。

    1
    sudo docker commit <容器ID或容器名> <仓库名>:<标签>
  • 将镜像推送到镜像仓库,如DockerRegistry。

    1
    sudo docker push <仓库名>:<标签>

- (更新)Debian/Ubuntu环境下安装Docker

  • 执行以下命令卸载旧版本/冲突安装包,如podman、docker-compose(v1)。
1
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • 设置apt源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Add Docker's official GPG key:
sudo apt-get update

sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
  • 安装Docker
1
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin