Docker的作用

解决环境配置的难题:
软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?
用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有 Python 引擎,还必须有各种依赖,可能还要配置环境变量。
如果某些老旧的模块与当前环境不兼容,那就麻烦了。开发者常常会说:“它在我的机器可以跑了”(It works on my machine),言下之意就是,其他机器很可能跑不了。
环境配置如此麻烦,换一台机器,就要重来一次,旷日费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。

整体架构流程

一、搭建Docker(centos)

1、更新系统,对于基于RedHat的系统(如CentOS):

sudo yum update -y

2、设置Docker的官方仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo    # Fedora 使用 dnf

3、安装 Docker

使用 yum 安装 Docker 时,如果不指定版本,默认会安装当前最新版。

yum install -y docker-ce docker-ce-cli containerd.io

如果需要指定版本

  • 查询可用版本
 yum --showduplicates list docker-ce
  • 查询结果如下
[root@docker-node-1 ~]# yum --showduplicates list docker-ce
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.bfsu.edu.cn
Available Packages
......(限于篇幅,有删减)
docker-ce.x86_64                               3:24.0.0-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.1-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.2-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.3-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.4-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.5-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.6-1.el7                                        docker-ce-stable
docker-ce.x86_64                               3:24.0.7-1.el7                                        docker-ce-stable
docker-ce.x86_64                       
  • 安装指定版本
yum install docker-ce-24.0.7 -y

也可以手动去官网下载,如果打不开或者显示404,可以开一个加速器就行,下载到windows上之后在复制到对应文件夹中。
手动下载地址:https://download.docker.com/linux/centos/docker-ce.repo,下载后放入/etc/yum.repos.d文件夹中

4、配置 Docker镜像源

直接运行如下代码

cat > /etc/docker/daemon.json << "EOF"
{
    "dns": ["8.8.8.8", "8.8.4.4"],
    "registry-mirrors": [
        "https://6kx4zyno.mirror.aliyuncs.com",
        "https://docker.m.daocloud.io/",
        "https://huecker.io/",
        "https://dockerhub.timeweb.cloud",
        "https://noohub.ru/",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://xx4bwyg2.mirror.aliyuncs.com",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com"
    ],
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
EOF

5、启动 Docker/重启docker

systemctl enable docker --now
sudo systemctl restart docker

6、验证 Docker

docker info

二、搭建Docker(Ubuntu)

首先在Ubuntu系统上安装Docker:

  • 更新软件包索引
sudo apt-get update 
  • 安装依赖包
sudo apt-get install \
       ca-certificates \
       curl \
       gnupg \
       lsb-release

添加Docker官方GPG密钥,(推荐使用阿里的gpg KEY)

# 创建文件夹
sudo mkdir -p /etc/apt/keyrings
# 阿里源(推荐使用阿里的gpg KEY)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加 apt 源:

#Docker官方源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#阿里apt源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新源
sudo apt update
sudo apt-get update

安装Docker

#安装Docker
sudo apt install docker-ce docker-ce-cli containerd.io

#查看Docker版本
sudo docker version

#查看Docker运行状态
sudo systemctl status docker

安装Docker 命令补全工具

sudo apt-get install bash-completion

sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh

source /etc/bash_completion.d/docker.sh

添加docker用户组

sudo groupadd docker

将当前用户添加到用户组

sudo usermod -aG docker $USER

使权限生效

newgrp docker 

测试一下

#查看所有容器
docker ps -a

最后一步 更新.bashrc文件

我们需要编辑 ~/.bashrc文件,并在文件末尾增加如下一行,如果不在.bashrc文件中增加下面这一行命令

#如果没有此行命令,你会发现,当你每次打开新的终端
#你都必须先执行一次 “newgrp docker” 命令
#否则当前用户还是不可以执行docker命令

groupadd -f docker

小结

如果手动下载docker镜像

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐