CentOS下安装Docker CE教程
<h1><span style="font-family: 微软雅黑">一、安装前准备</span></h1><h2>1、硬件要求</h2>
<p><span style="font-family: 微软雅黑">CentOS 7(64-bit),内核版本不能低于3.10;</span></p>
<p><span style="font-family: 微软雅黑">CentOS 6.5(64-bit或更新的版本),内核版本为 2.6.32-431 或者更高版本,一般不建议在CentOS 6.x下安装Docker,因为往往CentOS 6.x往往需要先升级内核版本以达到安装条件,但是升级内核可能会导致开不了机之类的问题。</span></p>
<h2><span style="font-family: 微软雅黑">2、卸载旧版本</span></h2>
<p><span style="font-family: 微软雅黑">较旧版本的Docker被称为<code>docker</code>或<code>docker-engine</code>。如果已安装这些,请卸载它们以及相关的依赖项。</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span><span style="color: rgba(0, 0, 0, 1)"> remove docker \
docker</span>-<span style="color: rgba(0, 0, 0, 1)">client \
docker</span>-client-<span style="color: rgba(0, 0, 0, 1)">latest \
docker</span>-<span style="color: rgba(0, 0, 0, 1)">common \
docker</span>-<span style="color: rgba(0, 0, 0, 1)">latest \
docker</span>-latest-<span style="color: rgba(0, 0, 0, 1)">logrotate \
docker</span>-<span style="color: rgba(0, 0, 0, 1)">logrotate \
docker</span>-engine</pre>
</div>
<h1> </h1>
<h1><span style="font-family: 微软雅黑">二、安装Docker</span></h1>
<h2><span style="font-family: 微软雅黑">1、使用yum安装</span></h2>
<h3><span style="font-family: 微软雅黑">①.安装所需依赖包</span></h3>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> -y <span style="color: rgba(0, 0, 255, 1)">yum</span>-utils device-mapper-persistent-data lvm2</pre>
</div>
<p><span style="font-family: 微软雅黑">鉴于国内网络问题,强烈建议使用国内源!!!</span></p>
<p><span style="color: rgba(255, 0, 0, 1); font-family: 微软雅黑">国内源:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span>-config-manager --add-repo https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo</span></pre>
</div>
<p><span style="font-family: 微软雅黑">官方源:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span>-config-manager --add-repo https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">download.docker.com/linux/centos/docker-ce.repo</span></pre>
</div>
<p><span style="font-family: 微软雅黑">如果需要测试版本的 Docker CE 请使用以下命令:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span>-config-manager --enable docker-ce-test</pre>
</div>
<p><span style="font-family: 微软雅黑">如果需要每日构建版本的 Docker CE 请使用以下命令:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span>-config-manager --enable docker-ce-nightly</pre>
</div>
<h3><span style="font-family: 微软雅黑">②.更新yum缓存并安装Docker-ce</span></h3>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span><span style="color: rgba(0, 0, 0, 1)"> makecache fast
</span><span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span> -y <span style="color: rgba(0, 0, 255, 1)">install</span> docker-ce</pre>
</div>
<h3><span style="font-family: 微软雅黑">③.启动Docker-ce</span></h3>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> systemctl enable docker
</span><span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl start docker</pre>
</div>
<h3><span style="font-family: 微软雅黑">④.建立docker用户组</span></h3>
<p><span style="font-family: 微软雅黑">默认情况下,<code>docker</code> 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 <code>root</code> 用户和 <code>docker</code> 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 <code>root</code> 用户。因此,更好地做法是将需要使用 <code>docker</code> 的用户加入 <code>docker</code> 用户组。</span></p>
<p><span style="font-family: 微软雅黑">建立docker组:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> groupadd docker</pre>
</div>
<p><span style="font-family: 微软雅黑">将当前用户添加到docker组中:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> usermod -aG docker $USER</pre>
</div>
<p><span style="font-family: 微软雅黑">退出当前终端并重新登录,进行如下命令测试,若能正常输出以上信息,则说明安装成功。</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre># docker run hello-<span style="color: rgba(0, 0, 0, 1)">world
Hello from Docker</span>!<span style="color: rgba(0, 0, 0, 1)">
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">. The Docker client contacted the Docker daemon.
</span><span style="color: rgba(128, 0, 128, 1)">2</span>. The Docker daemon pulled the <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">hello-world</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> image from the Docker Hub.
(amd64)
</span><span style="color: rgba(128, 0, 128, 1)">3</span>. The Docker daemon created a new container from that image <span style="color: rgba(0, 0, 255, 1)">which</span><span style="color: rgba(0, 0, 0, 1)"> runs the
executable that produces the output you are currently reading.
</span><span style="color: rgba(128, 0, 128, 1)">4</span>. The Docker daemon streamed that output to the Docker client, <span style="color: rgba(0, 0, 255, 1)">which</span><span style="color: rgba(0, 0, 0, 1)"> sent it
to your terminal.
To try something </span><span style="color: rgba(0, 0, 255, 1)">more</span><span style="color: rgba(0, 0, 0, 1)"> ambitious, you can run an Ubuntu container with:
$ docker run </span>-<span style="color: rgba(0, 0, 0, 1)">it ubuntu bash
Share images, automate workflows, and </span><span style="color: rgba(0, 0, 255, 1)">more</span> with a <span style="color: rgba(0, 0, 255, 1)">free</span><span style="color: rgba(0, 0, 0, 1)"> Docker ID:
https:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">hub.docker.com/</span>
<span style="color: rgba(0, 0, 0, 1)">
For </span><span style="color: rgba(0, 0, 255, 1)">more</span><span style="color: rgba(0, 0, 0, 1)"> examples and ideas, visit:
https:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">docs.docker.com/get-started/</span></pre>
</div>
<h3><span style="font-family: 微软雅黑">⑤.镜像加速</span></h3>
<p><span style="font-family: 微软雅黑">如果在使用过程中发现国内网络拉取 Docker 镜像十分缓慢,比如出现拉取镜像Timeout的问题,可以配置 Docker </span><span style="font-family: 微软雅黑">国内镜像加速</span><span style="font-family: 微软雅黑">。</span></p>
<p><span style="font-family: 微软雅黑">例如,对于使用 systemd 的系统,请在 <code>/etc/docker/daemon.json</code> 中写入如下内容(如果文件不存在请新建该文件)</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(0, 0, 0, 1)">{
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">registry-mirrors</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://dockerhub.azk8s.cn</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://reg-mirror.qiniu.com</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
]
}
#注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。</span></pre>
</div>
<p><span style="font-family: 微软雅黑">重启docker服务:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl daemon-<span style="color: rgba(0, 0, 0, 1)">reload
</span><span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl restart docker</pre>
</div>
<p><span style="font-family: 微软雅黑">查看加速器是否生效:</span></p>
<p><span style="font-family: 微软雅黑">执行 <code>docker info</code>,如果从结果中看到了如下内容,说明配置成功。</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(0, 0, 0, 1)">Registry Mirrors:
https:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">dockerhub.azk8s.cn/</span>
https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">reg-mirror.qiniu.com/</span></pre>
</div>
<h2><span style="font-family: 微软雅黑">2、使用脚本自动安装</span></h2>
<p><span style="font-family: 微软雅黑">在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> curl -fsSL get.docker.com -o get-docker.<span style="color: rgba(0, 0, 255, 1)">sh</span>
<span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">sh</span> get-docker.<span style="color: rgba(0, 0, 255, 1)">sh</span> --mirror Aliyun</pre>
</div>
<p><span style="font-family: 微软雅黑">执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 edge 版本安装在系统中。</span></p>
<h2><span style="font-family: 微软雅黑">3、添加内核参数</span></h2>
<p><span style="font-family: 微软雅黑">如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre>WARNING: bridge-nf-call-<span style="color: rgba(0, 0, 0, 1)">iptables is disabled
WARNING: bridge</span>-nf-call-ip6tables is disabled</pre>
</div>
<p><span style="font-family: 微软雅黑">请添加内核配置参数以启用这些功能。</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">tee</span> -a /etc/sysctl.conf <<-<span style="color: rgba(0, 0, 0, 1)">EOF
</span><span style="color: rgba(128, 0, 128, 1)">2</span> net.bridge.bridge-nf-call-ip6tables = <span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(128, 0, 128, 1)">3</span> net.bridge.bridge-nf-call-iptables = <span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(128, 0, 128, 1)">4</span> EOF</pre>
</div>
<p><span style="font-family: 微软雅黑">然后重新加载 <code>sysctl.conf</code> 即可</span></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> sysctl -p</pre>
</div>
<h2><span style="font-family: 微软雅黑">4、参考文档:</span></h2>
<ul>
<li>菜鸟教程 | CentOS Docker 安装</li>
<li>Docker——从入门到实践</li>
<li>Docker 官方文档</li>
<li>阿里云 Docker CE 镜像源站</li>
<li>Docker 国内仓库和镜像</li>
</ul>
<p><span style="font-family: "Microsoft YaHei""> </span></p>
<p><span style="font-family: "Microsoft YaHei"">2019-07-07 17:28:49</span></p><br><br>
来源:https://www.cnblogs.com/lxh9632/p/11146863.html
頁:
[1]