linux 安装docker
<h3>1、安装环境</h3><p>此处在Centos7进行安装,可以使用以下命令查看CentOS版本</p>
<div class="cnblogs_code">
<pre>lsb_release -a</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/761230/201909/761230-20190920092034990-377974794.png" alt=""></p>
<p>在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">uname</span> -r</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/761230/201909/761230-20190920092306272-1825494524.png" alt=""></p>
<h3>2、用yum源安装</h3>
<p><strong>2.1 查看是否已安装docker列表</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> list installed | <span style="color: rgba(0, 0, 255, 1)">grep</span> docker</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/761230/201909/761230-20190924101015120-484595522.png" alt=""></p>
<p><strong>2.2 安装docker</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">yum</span> -y <span style="color: rgba(0, 0, 255, 1)">install</span> docker</pre>
</div>
<p>-y表示不询问安装,直到安装成功,安装完后再次查看安装列表</p>
<p><img src="https://img2018.cnblogs.com/blog/761230/201909/761230-20190924101635249-774913670.png" alt=""></p>
<p><strong>2.3 启动docker</strong></p>
<div class="cnblogs_code">
<pre>systemctl start docker</pre>
</div>
<p><strong>2.4 查看docker服务状态</strong></p>
<div class="cnblogs_code">
<pre>systemctl status docker</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/761230/201909/761230-20190924101735498-1013963263.png" alt=""></p>
<p>以上说明docker安装成功</p>
<h3>3、离线安装模式</h3>
<p><strong>3.1 安装包官方地址</strong>:https://download.docker.com/linux/static/stable/x86_64/</p>
<p>可以先下载到本地,然后通过ftp工具上传到服务器上,或者在服务器上使用命令下载</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz</span></pre>
</div>
<p><strong>3.2 解压</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">tar</span> -zxvf docker-<span style="color: rgba(128, 0, 128, 1)">18.06</span>.3-ce.tgz</pre>
</div>
<p><strong>3.3 将解压出来的docker文件复制到 /usr/bin/ 目录下</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">cp</span> docker<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)"> /usr/bin/</span></pre>
</div>
<p><strong>3.4 在/etc/systemd/system/目录下新增docker.service文件</strong>,内容如下,这样可以将docker注册为service服务</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">
Description</span>=<span style="color: rgba(0, 0, 0, 1)">Docker Application Container Engine
Documentation</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">docs.docker.com</span>
After=network-<span style="color: rgba(0, 0, 0, 1)">online.target firewalld.service
Wants</span>=network-<span style="color: rgba(0, 0, 0, 1)">online.target
Type</span>=<span style="color: rgba(0, 0, 0, 1)">notify
# the default is not to use systemd </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> containers run by docker
ExecStart</span>=/usr/bin/dockerd --selinux-enabled=<span style="color: rgba(0, 0, 255, 1)">false</span> <span style="background-color: rgba(255, 0, 0, 1)">--insecure-registry=<span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span></span><span style="color: rgba(0, 0, 0, 1)">
ExecReload</span>=/bin/<span style="color: rgba(0, 0, 255, 1)">kill</span> -<span style="color: rgba(0, 0, 0, 1)">s HUP $MAINPID
# Having non</span>-zero Limit*<span style="color: rgba(0, 0, 0, 1)">s causes performance problems due to accounting overhead
# </span><span style="color: rgba(0, 0, 255, 1)">in</span> the kernel. We recommend using cgroups to <span style="color: rgba(0, 0, 255, 1)">do</span> container-<span style="color: rgba(0, 0, 0, 1)">local accounting.
LimitNOFILE</span>=<span style="color: rgba(0, 0, 0, 1)">infinity
LimitNPROC</span>=<span style="color: rgba(0, 0, 0, 1)">infinity
LimitCORE</span>=<span style="color: rgba(0, 0, 0, 1)">infinity
# Uncomment TasksMax </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> your systemd version supports it.
# Only systemd </span><span style="color: rgba(128, 0, 128, 1)">226</span><span style="color: rgba(0, 0, 0, 1)"> and above support this version.
#TasksMax</span>=<span style="color: rgba(0, 0, 0, 1)">infinity
TimeoutStartSec</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate</span>=<span style="color: rgba(0, 0, 0, 1)">yes
# </span><span style="color: rgba(0, 0, 255, 1)">kill</span> only the docker process, not all processes <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the cgroup
KillMode</span>=<span style="color: rgba(0, 0, 0, 1)">process
# restart the docker process </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> it exits prematurely
Restart</span>=on-<span style="color: rgba(0, 0, 0, 1)">failure
StartLimitBurst</span>=<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">
StartLimitInterval</span>=<span style="color: rgba(0, 0, 0, 1)">60s
WantedBy</span>=multi-user.target</pre>
</div>
<p>此处的--insecure-registry=127.0.0.1(此处改成你私服ip)设置是针对有搭建了自己私服Harbor时允许docker进行不安全的访问,否则访问将会被拒绝。</p>
<p><strong>3.5 启动docker</strong></p>
<p><span>给docker.service文件添加执行权限</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">chmod</span> +x /etc/systemd/system/docker.service<em id="__mceDel"> </em></pre>
</div>
<p>重新加载配置文件(每次有修改docker.service文件时都要重新加载下)</p>
<div class="cnblogs_code">
<pre>systemctl daemon-reload </pre>
</div>
<p>启动</p>
<div class="cnblogs_code">
<pre>systemctl start docker</pre>
</div>
<p>设置开机启动</p>
<div class="cnblogs_code">
<pre>systemctl enable docker.service</pre>
</div>
<p>查看docker服务状态</p>
<div class="cnblogs_code">
<pre>systemctl status docker</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/761230/201909/761230-20190924100503875-876834976.png" alt=""></p>
<p>上图表示docker已安装成功</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/kingsonfu/p/11576797.html 顶一个!感谢楼主的详细教程,讲解得很清楚呢~
刚好最近也在学习Docker,按照你的步骤成功在CentOS7上装好了,有一些小心得想补充一下:
[*]如果想要中文字体界面的话,可以安装Docker Desktop,不过Linux服务器版一般用命令行就够了[*]安装完成后建议运行一下 docker run hello-world 验证是否正常工作[*]如果拉取镜像慢的话,可以配置国内镜像加速器,比如阿里云、网易的源[*]离线安装那里要注意版本号,最好去官网确认一下最新稳定版
另外请教一下,楼主的Harbor私服是怎么搭建的呢?我也想自己搭一个私有的镜像仓库~
再次感谢分享,期待你更多的好文章!25
頁:
[1]