linux无网络安装docker环境,配置vue与tomcat教程
Centos7中查看IP命令:IP addr
===========================================
=====================================================================================================================================================================
https://www.cnblogs.com/yhongji/p/9336247.html
1、安装jdk1.8
<pre class="brush:csharp;gutter:true;">rpm -ivh jdk-8u241-linux-x64.rpm
/usr/java/jdk1.8.0_241-amd64
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
source /etc/profile
java -version
2、装docker
下载:https://download.docker.com/linux/static/stable/x86\_64/
<a href="https://download.docker.com/linux/static/stable/x86_64/docker-19.03.5.tgz">docker-19.03.5.tgz</a> <br></br><br></br><br></br>
安装参考:https://www.jianshu.com/p/4ffe31dec04f
其中docker.service的部分,需要新建文件
\## 在/etc/systemd/system/目录下新增docker.service文件,内容如下,这样可以将docker注册为service服务
3、在有网络的机器上下载Nginx镜像:
<pre class="prettyprint prettyprinted">$ docker pull nginx:latest
<pre class="brush:csharp;gutter:true;">docker save 4bb46517cac3 > nginx-llt.tar
unzip -o -d /usr/local/zkadapter tomcat9.zip
rpm -ivh zip-3.0-11.el7.x86_64.rpm --force --nodeps
rpm -ivh unzip-6.0-21.el7.x86_64.rpm --force --nodeps
docker load < nginx-llt.tar
装载成功镜像后,docker images 发现 tag是空的,这时候执行命令:docker tag 4bb46517cac3 nginx-llt ,4bb46517cac3是镜像ID;
接下来,启动该镜像:
docker run -it -d --name nginx-llt -p 8089:80 nginx-llt:latest 注意对应关系;tag 版本什么的要对应好。
结果起不来,报错:
<pre class="brush:csharp;gutter:true;">docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused \"write /proc/self/attr/keycreate: permission denied\"": unknown.
真是恶心;
是权限问题,原以为是没有建立宿主机与docker容器的对应目录,接着把之前服务器上的nginx下的目录拷贝过来,还是没能解决。经过一番查找后发现是Linux的权限问题,
解决方法:
将/etc/selinux下的config文件中的SELINUX属性改为disabled
步骤:
vi /etc/selinux/config
可以看到里面的属性为:enforcing强制性的
按I键进入编辑模式,将SELINUX属性改为disabled,保存退出:wq,重启liunx系统即可
再运行容器即可;
<pre class="brush:csharp;gutter:true;">selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,比如,前面的write /proc/self/attr/keycreate文件没有权限,就是被selinux控制了。
selinux有三种模式:enforcing 强制 permissive 宽容的 diabled 禁止的,顾名思义,权限限制,从高到低。
这个知识点真不知道!
参考:https://blog.csdn.net/xinzuini/article/details/106622561
再次运行
<pre class="prettyprint prettyprinted"><img alt="linux无网络安装docker环境,配置vue与tomcat教程" src="https://www.icode9.com/i/l/?n=20&i=blog/1313501/202012/1313501-20201214175302478-1460765286.png"></img>
相关代码:
<pre class="brush:csharp;gutter:true;">rpm -ivh jdk-8u241-linux-x64.rpm
/usr/java/jdk1.8.0_241-amd64
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
source /etc/profile
java -version
vi /usr/bin/systemd/system/docker.service
docker save -o /usr/local/software/docker/jenkinsci_blueocean.tar jenkinsci/blueocean
docker save d404d78aa797 > mysql5.tar
docker save 4bb46517cac3 > nginx-llt.tar
unzip -o -d /usr/local/zkadapter tomcat9.zip
unzip -o -d /opt/ nginx.zip
rpm -ivh zip-3.0-11.el7.x86_64.rpm --force --nodeps
rpm -ivh unzip-6.0-21.el7.x86_64.rpm --force --nodeps
docker load < nginx-llt.tar
docker tag 4bb46517cac3 nginx-llt
docker exec -it bcc62eb87f36 /bin/bash
docker run -it -d --name nginx-llt -p 8089:80 nginx-llt:latest
<pre class="prettyprint prettyprinted">