在Linux上搭建Docker容器
·
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镜像
更多推荐


所有评论(0)