1. 程式人生 > 實用技巧 >linux無網路安裝docker環境,配置vue與tomcat

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