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-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/
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.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 版本什麼的要對應好。
結果起不來,報錯:
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-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