linux无网络安装docker环境,配置vue与tomcat
centos7配置IP地址
Centos7中查看IP命令:IP addr
https://www.cnblogs.com/yhongji/p/9336247.html
1、安装jdk1.8
rpm -ivh jdk-8u241-linux-x64.rpm/usr/java/jdk1.8.0_241-amd64vi /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_241-amd64export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binexport JAVA_HOME CLASSPATH PATHsource /etc/profilejava -version
2、装docker
下载:https://download.docker.com/linux/static/stable/x86_64/
docker-19.03.5.tgz
安装参考:https://www.jianshu.com/p/4ffe31dec04f
其中docker.service的部分,需要新建文件
## 在/etc/systemd/system/目录下新增docker.service文件,内容如下,这样可以将docker注册为service服务
3、在有网络的机器上下载Nginx镜像:
$ docker pull nginx:latest
docker save 4bb46517cac3 > nginx-llt.tarunzip -o -d /usr/local/zkadapter tomcat9.ziprpm -ivh zip-3.0-11.el7.x86_64.rpm --force --nodeps rpm -ivh unzip-6.0-21.el7.x86_64.rpm --force --nodepsdocker 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 版本什么的要对应好。
结果起不来,报错:
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系统即可
再运行容器即可;
selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,比如,前面的write /proc/self/attr/keycreate文件没有权限,就是被selinux控制了。selinux有三种模式:enforcing 强制 permissive 宽容的 diabled 禁止的,顾名思义,权限限制,从高到低。
这个知识点真不知道!
参考:https://blog.csdn.net/xinzuini/article/details/106622561
再次运行
相关代码:
rpm -ivh jdk-8u241-linux-x64.rpm/usr/java/jdk1.8.0_241-amd64vi /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_241-amd64export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binexport JAVA_HOME CLASSPATH PATHsource /etc/profilejava -versionvi /usr/bin/systemd/system/docker.servicedocker save -o /usr/local/software/docker/jenkinsci_blueocean.tar jenkinsci/blueoceandocker save d404d78aa797 > mysql5.tardocker save 4bb46517cac3 > nginx-llt.tarunzip -o -d /usr/local/zkadapter tomcat9.zipunzip -o -d /opt/ nginx.ziprpm -ivh zip-3.0-11.el7.x86_64.rpm --force --nodeps rpm -ivh unzip-6.0-21.el7.x86_64.rpm --force --nodepsdocker load < nginx-llt.tardocker tag 4bb46517cac3 nginx-lltdocker exec -it bcc62eb87f36 /bin/bashdocker run -it -d --name nginx-llt -p 8089:80 nginx-llt:latest