redhat7.7安装docker全过程
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">1、准备</a></li><li><a href="#_label1">2、安装</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_0">2.1 安装gcc相关环境</a></li><li><a href="#_lab2_1_1">2.2. 卸载旧版本,并安装需要的软件包</a></li><li><a href="#_lab2_1_2">2.3. 设置stable镜像仓库</a></li><li><a href="#_lab2_1_3">2.4.更新yum软件包索引</a></li><li><a href="#_lab2_1_4">2.5.安装DOCKER CE</a></li><li><a href="#_lab2_1_5">2.6.启动docker与测试</a></li></ul><li><a href="#_label2">3、设置开机自启动</a></li><ul class="second_class_ul"></ul><li><a href="#_label3">4、验证</a></li><ul class="second_class_ul"></ul><li><a href="#_label4">5、docker run报错</a></li><ul class="second_class_ul"></ul><li><a href="#_label5">6、docker镜像本地的导入与恢复</a></li><ul class="second_class_ul"></ul><li><a href="#_label6">7、配置镜像加速</a></li><ul class="second_class_ul"></ul><li><a href="#_label7">8、总结</a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>1、准备</h2><p>官网有二进制文件安装的详细过程可参阅:<a href="https://docs.docker.com/engine/install/binaries/" rel="external nofollow"target="_blank">https://docs.docker.com/engine/install/binaries/</a></p>
<p>下载二进制安装包:</p>
<p>转到 https://download.docker.com/linux/static/stable/ (或更改stable为nightly或test),选择您的硬件平台,然后下载.tgz与要安装的Docker Engine版本有关的文件。</p>
<p class="maodian"><a name="_label1"></a></p><h2>2、安装</h2>
<p class="maodian"><a name="_lab2_1_0"></a></p><h3>2.1 安装gcc相关环境</h3>
<div class="jb51code"><pre class="brush:bash;">yum -y install gcc
yum -y install gcc-c++
</pre></div>
<p class="maodian"><a name="_lab2_1_1"></a></p><h3>2.2. 卸载旧版本,并安装需要的软件包</h3>
<div class="jb51code"><pre class="brush:bash;">#卸载
yum -y remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
</pre></div>
<p class="maodian"><a name="_lab2_1_2"></a></p><h3>2.3. 设置stable镜像仓库</h3>
<div class="jb51code"><pre class="brush:bash;">yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
</pre></div>
<p class="maodian"><a name="_lab2_1_3"></a></p><h3>2.4.更新yum软件包索引</h3>
<div class="jb51code"><pre class="brush:bash;">yum makecache fast
</pre></div>
<p class="maodian"><a name="_lab2_1_4"></a></p><h3>2.5.安装DOCKER CE</h3>
<div class="jb51code"><pre class="brush:bash;">yum -y install docker-ce
</pre></div>
<p class="maodian"><a name="_lab2_1_5"></a></p><h3>2.6.启动docker与测试</h3>
<div class="jb51code"><pre class="brush:bash;">#启动
systemctl start docker
#测试
docker version
docker run hello-world
</pre></div>
<p class="maodian"><a name="_label2"></a></p><h2>3、设置开机自启动</h2>
<div class="jb51code"><pre class="brush:bash;">#关闭docker服务
kill -9 ***
#创建启动文件
vim /etc/systemd/system/docker.service
写入如下内容
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
WantedBy=multi-user.target
#赋权
chmod +x /etc/systemd/system/docker.service
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>4、验证</h2>
<div class="jb51code"><pre class="brush:bash;"># 重载systemd下 xxx.service文件
systemctl daemon-reload
# 启动Docker
systemctl start docker
#重启
systemctl restart docker
# 设置开机自启
systemctl enable docker.service
注这时候systemctl stop docker 命令可能不成功,reboot重启后所有命令生效
完成用二进制文件安装docker!!
</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>5、docker run报错</h2>
<div class="jb51code"><pre class="brush:bash;">#报错container init caused \“write /proc/self/attr/keycreate: permission denied\““: unknown
原因“/proc/self/attr/keycreate” 这里没有写入权限,把“/etc/selinux/config”里面的SELINUX值修改为disabled
SELINUX=disabled
</pre></div>
<p class="maodian"><a name="_label5"></a></p><h2>6、docker镜像本地的导入与恢复</h2>
<div class="jb51code"><pre class="brush:bash;">#查看镜像
docker images
#保存本地
docker save 999c20aee5da > /home/artipub.tar 999c20aee5da为镜像ID
#本地导入docker
docker load < /Volumes/SoftWare/artipub.tar
#改名
docker tag 999c20aee5da artipub:latest
</pre></div>
<p class="maodian"><a name="_label6"></a></p><h2>7、配置镜像加速</h2>
<div class="jb51code"><pre class="brush:bash;">mkdir -p /etc/docker
vim/etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker
</pre></div>
<p class="maodian"><a name="_label7"></a></p><h2>8、总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
頁:
[1]