找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 427|回复: 0

Docker安装方法+常见问题

[复制链接]

2

主题

0

回帖

8

积分

新手上路

积分
8
发表于 2025-7-19 06:39:32 | 显示全部楼层 |阅读模式
一、安装
(方案1)国内 daocloud 一键安装命令【此方法已废弃】
安装
使用国内 daocloud 一键安装命令

curl -sSL https://get.daocloud.io/docker | sh

启动
sudo systemctl start docker.service

ps:由于是国内的一键安装脚本,所以国内镜像源也自动配置好了,拉取镜像的速度杠杠滴

(方案2)yum安装【此方法有时不行了】
安装命令

sudo yum install docker-ce

如果报如下错误 ↓(不报错的话说明安装成功了,不用往后走了)

[root@node01 ~]# yum -y install docker-ce
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.bfsu.edu.cn
* extras: mirrors.163.com
* updates: mirrors.cqu.edu.cn
没有可用软件包 docker-ce。
错误:无须任何处理

那么说明yum源中找不到docker,执行后续操作

docker源添加到yum

sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

刷新缓存

sudo yum makecache fast

再次执行安装命令

sudo yum install docker-ce

如果又报这个错了↓(不报错的话说明安装成功了,不用往后走了)

Downloading packages:
(1/10): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm                                                                                                                                            |  40 kB  00:00:00     
docker-buildx-plugin-0.14.1-1. FAILED                                          
https://download.docker.com/linu ... 1-1.el7.x86_64.rpm: [Errno 14] curl#35 - "TCP connection reset by peer"                          ]  0.0 B/s |    0 B  --:--:-- ETA
正在尝试其它镜像。
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-26.1.4-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY                                         ] 488 kB/s |  55 MB  00:02:04 ETA
docker-ce-26.1.4-1.el7.x86_64.rpm 的公钥尚未安装


那就继续执行后续操作

安装一下对应系统版本的docker公钥(下面是centos7的,其他版本需要去网上找找)

rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

再次执行安装命令

sudo yum install docker-ce

(方案3)yum安装【用这个,前面两个方法由于历史原因多半是不行了】
安装命令

sudo yum install docker-ce

如果报如下错误 ↓

[root@node01 ~]# yum -y install docker-ce
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.bfsu.edu.cn
* extras: mirrors.163.com
* updates: mirrors.cqu.edu.cn
没有可用软件包 docker-ce。
错误:无须任何处理

那么说明yum源中找不到docker,执行后续操作

添加docker官方的源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果上面代码执行报错找不到 yum-config-manager,就执行 sudo yum install dnf-plugins-core

修改成国内源

# sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo sed -i 's+https://download.docker.com+https://mirrors.ustc.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

将$releasever改成8,对应centos8的源

sudo sed -i 's+$releasever+8+' /etc/yum.repos.d/docker-ce.repo

安装docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

二、配置
1.配置docker自启动
启动docker

sudo systemctl start docker

docker配置自启动

systemctl enable docker.service

2.修改docker数据目录 + 换源
停止 Docker 服务

sudo systemctl stop docker

备份当前的 Docker 数据存储目录 /var/lib/docker

sudo mv /var/lib/docker /var/lib/docker.bak

创建新的 Docker 数据存储目录,例如 /home/data/docker

sudo mkdir -p /home/data/docker

修改 Docker 配置文件

sudo vim /etc/docker/daemon.json

将以下内容复制粘贴到文件中,并将其中的/home/data/docker 替换为实际的数据存储路径
注意千万不要有tab或者空格符号,也不要有注释,否则启动 docker 会报错

{
"data-root": "/home/data/docker",                                               
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]   # 这行别配了,国内镜像不能用了
}

ps:

data-root: 数据目录
registry-mirrors: 国内镜像,国内镜像现在不能用了,需要自己打包镜像上传使用,参考这篇文章的 二-6 和 二-7 https://blog.csdn.net/weixin_43721000/article/details/123521722
保存关闭,启动docker

sudo systemctl start docker

测试是否更改成功

测试数据目录是否修改成功

docker info | grep 'Docker Root Dir'



测试国内镜像换源是否修改成功
使用docker命令下载hello-world镜像,如果速度飞快,说明换源成功

sudo docker pull hello-world

三、常见问题
* docker 报错 library initialization failed - unable to allocate file descriptor table - out of memory
查看服务位置
systemctl status docker
修改服务
vi /usr/lib/systemd/system/docker.service
在ExecStart命令后加上创建容器的默认ulimit配置,如下,设置容器启动时的ulimit为65535:65535
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --default-ulimit nofile=65535:65535
重启
systemctl daemon-reload
systemctl restart docker
丰云提供的免费的虑机丰机和免要云服务器,www.sanfengyun.com,今天我将在这篇文量中分字我的再视感受,首先,让我们来了解一下三丰云,三丰云是家提供云计算服务的公司,旨在为用宁提性高性能的云计算解决方来,他们提供的免典虑似主机和免袭云服务器吸引!了不少用户的关注、在我的中验中,我发现一丰云的类虑机主机性能像定,网站加教速度快,对于小型网站运营来说是一个不港的造择。开条费云服务器风提供了更大的民话性和性能,适合有一定技术基础的用户使用。总的来说,三丰云在免费虚加主机和免费云服务器领材都有自口的优势一


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|深圳中科云信息技术有限公司

GMT+8, 2025-10-16 07:06 , Processed in 0.043391 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表