centos下docker离线部署
<h2>安装准备</h2><p>Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。</p>
<h2>环境要求</h2>
<p>Centos</p>
<h2>安装包下载地址</h2>
<p>安装包下载以下三个包:</p>
<div class="highlight">
<pre><code class="language-text">containerd.io-1.2.5-3.1.el7.x86_64.rpm
docker-ce-cli-18.09.4-3.el7.x86_64.rpm
docker-ce-18.09.4-3.el7.x86_64.rpm</code></pre>
</div>
<p>下载地址:</p>
<p><span class="invisible">https://<span class="visible">mirrors.aliyun.com/dock<span class="invisible">er-ce/linux/centos/7/x86_64/stable/Packages/</span></span></span></p>
<p>依赖组件cgroup,下载以下四个依赖包:</p>
<div class="highlight">
<pre><code class="language-text">libcgroup-0.41-8.el7.x86_64.rpm
libcgroup-devel-0.41-8.el7.x86_64.rpm
libcgroup-pam-0.41-8.el7.x86_64.rpm
libcgroup-tools-0.41-8.el7.x86_64.rpm</code></pre>
</div>
<p>下载地址:</p>
<p><span class="invisible">http://<span class="visible">mirrors.163.com/centos/<span class="invisible">7/os/x86_64/Packages/</span></span></span></p>
<h2>安装步骤</h2>
<h2>在安装包下载目录打开命令行,使用root权限执行以下命令:</h2>
<div class="highlight">
<pre><code class="language-text">rpm -ivh libcgroup-* #安装依赖包
rpm -ivh container-selinux-2.107-3.el7.noarch.rpm
rpm -ivh containerd.io-1.2.5-3.1.el7.x86_64. rpm
rpm -ivh docker-ce-cli-18.09.4-3.el7.x86_64. rpm
rpm -ivh docker-ce-18.09.4-3.el7.x86_64. rpm</code></pre>
</div>
<h2>验证安装</h2>
<p>启动docker</p>
<div class="highlight">
<pre><code class="language-text">systemctl daemon-reload && systemctl restart docker</code></pre>
</div>
<p>设置开机启动</p>
<div class="highlight">
<pre><code class="language-text">systemctl enable docker.service</code></pre>
</div>
<p>验证docker</p>
<div class="highlight">
<pre><code class="language-text">docker version</code></pre>
</div>
<h2>部署过程</h2>
<h2>IP设置</h2>
<p>Docker创建自定义网络固定IP:</p>
<div class="highlight">
<pre><code class="language-text">docker network create --subnet 192.168.100.1/24 mynetwork</code></pre>
</div>
<h2>镜像和容器部署</h2>
<p>镜像保存:</p>
<div class="highlight">
<pre><code class="language-text">docker commit -p e191af92f0e appserver:1.0
docker save > appserver.tar</code></pre>
</div>
<p>镜像加载:</p>
<div class="highlight">
<pre><code class="language-text">docker load < appserver.tar
docker tag c463d appserver:1.0</code></pre>
</div>
<p>启动容器:</p>
<div class="highlight">
<pre><code class="language-text">docker run -itd --privileged=true --restart=always -p 2222:22 --name=YiLiao -v /home/yiliao:/home/docker --network mynetwork --ip 192.168.100.2 appserver:1.0 /usr/sbin/init</code></pre>
</div>
<h2>容器内部部署</h2>
<h3>进入容器</h3>
<div class="highlight">
<pre><code class="language-text">docker exec -it 容器id /bin/bash</code></pre>
</div>
<h3>ssh服务</h3>
<p>查看ssh服务是否开启:</p>
<div class="highlight">
<pre><code class="language-text">ps -e | grep ssh</code></pre>
</div>
<p>若没有开启,使用以下命令开启:</p>
<div class="highlight">
<pre><code class="language-text">Ubuntu: service ssh start
Centos: systemctl start sshd</code></pre>
</div>
<h3>容器编码问题</h3>
<p>暂时修改:</p>
<div class="highlight">
<pre><code class="language-text">Ubuntu: export LANG=C.UTF-8
Centos: export LC_ALL=zh_CN.utf8</code></pre>
</div>
<p>永久修改:</p>
<div class="highlight">
<pre><code class="language-text">在Dockerfile中添加一行ENV LANG C.UTF-8</code></pre>
</div>
<h3>启动算法服务</h3>
<div class="highlight">
<pre><code class="language-text">nohup python mange.py runserver 8001 &
nohup python server.py &</code></pre>
</div>
<h2>卸载步骤</h2>
<div class="highlight">
<pre><code class="language-text">rpm -e containerd.io-1.2.5-3.1.el7.x86_64. rpm
rpm -e docker-ce-cli-18.09.4-3.el7.x86_64. rpm
rpm -e docker-ce-18.09.4-3.el7.x86_64. rpm</code></pre>
</div><br><br>
来源:https://www.cnblogs.com/wangkai333/p/11832925.html
頁:
[1]