Docker入门(二)

Docker自启动

执行以下命令可开启Docker自启动

systemctl enable docker

执行以下命令可关闭Docker自启动

systemctl disable docker

Docker镜像加速

下载镜像时,默认会从https://hub.docker.com/拉取,有时候会出现拉取速度过慢的情况,可以通过配置其他源地址来加速下载。
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易镜像: http://hub-mirror.c.163.com/
Docker中国区官方镜像 https://registry.docker-cn.com
阿里镜像源地址获取(需要认证)

手动设置

执行以下命令
1 将国内镜像源地址写入daemon.json文件

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
}
EOF

2 刷新配置

systemctl daemon-reload
systemctl restart docker
docker info

出现以下提示则说明设置成功
在这里插入图片描述

脚本设置(推荐)

执行以下命令

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

以非 root 用户身份管理 Docker(Rootless mode)

默认情况下,非 root 用户无法运行 Docker 。这也埋下了安全隐患,使用root权限启用Docker服务时,外部可针对Docker守护程序或运行中的容器的漏洞间接获取到root权限,在 V19.03 中实验性引入Rootless mode用于缓解守护程序和容器运行时中的潜在漏洞。V20.10 正式使用。

先决条件

1 主机上必须安装 newuidmap newgidmap uidmap(大多数Linux发行版上都默认安装,未安装执行以下命令即可)。

sudo sh -x
curl -o /etc/yum.repos.d/vbatts-shadow-utils-newxidmap-epel-7.repo https://copr.fedorainfracloud.org/coprs/vbatts/shadow-utils-newxidmap/repo/epel-7/vbatts-shadow-utils-newxidmap-epel-7.repo
yum install -y shadow-utils46-newxidmap

2 不能使用root用户安装Rootless mode

groupadd dockerRootless
useradd dockerRootlessUser -g dockerRootless
passwd dockerRootlessUser 

3 文件/etc/subuid及/etc/subgid中至少应包含65536 个从属 UID/GID。

cat /etc/subuid
cat /etc/subgid

如下图所示
在这里插入图片描述
4 搭建Docker Rootless安装环境
Docker Rootless对Linux不同的开发版都有不同的安装需求。这里以centos7为例。
在这里插入图片描述
执行以下命令即可

cat <<EOT >/etc/sysctl.conf
user.max_user_namespaces = 28633
EOT
sysctl --system

安装Docker Rootless

1 命令安装
Rootless mode安装程序一般位于/usr/bin/dockerd-rootless-setuptool.sh(Docker 20.10 更高版本)

执行以下命令

su dockerRootlessUser 
/usr/bin/dockerd-rootless-setuptool.sh install

2 脚本安装(推荐)
执行以下命令

curl -sSL https://get.docker.com/rootless | sh

配置

可以看到以上代码执行完成后,出现警告
安装完成提示信息中出现了一些警告,主要意思就是让我们把下面几个变量添加到~/.bashrc中
修改配置

vim ~/.bashrc

需要写入的变量信息

export XDG_RUNTIME_DIR=/home/dockerRootlessUser/.docker/run
export PATH=/home/dockerRootlessUser/bin:$PATH
export DOCKER_HOST=unix:///home/dockerRootlessUser/.docker/run/docker.sock

刷新配置

source ~/.bashrc

非root运行的容器ping其他节点时,会报缺乏权限,可通过执行以下命令开启

$ sudo sh -c "echo 0   2147483647  > /proc/sys/net/ipv4/ping_group_range"

启动

由于当前操作系统的存储驱动是overlay2,运行时会报 overlay is not supported for Rootless with SELinux storage-driver=overlay2错误,下图为官网支持的存储引擎。
在这里插入图片描述
测试阶段引擎改用vfs即可
启动docker

dockerd-rootless.sh --experimental --storage-driver vfs

参考文献

DockerDocs

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早川不爱吃香菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值