centos8下docker安裝及容器遠程訪問


主機環境:centos8

一、docker 安裝

step1:添加Docker存儲庫文件:(兩種方式)

(1) sudo yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo

如果使用阿里雲鏡像源:可以用sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(2) sudo curl  https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo,然后sudo yum makecache更新RPM索引緩存

 

step2:安裝docker及客戶端

sudo yum install docker-ce docker-ce-cli

如提示:package docker-ce-3:19.03.4-3.el7.x86_64 requires containerd.io >= 1.2.2-3 那就先裝新版的 containerd.io

sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

 

step3:驗證docker安裝及后續設置

#docker --version

#systemctl enable docker

#systemctl start docker

#usermod -aG docker 你登錄centos用戶名        //(添加用戶到docker組,避免docker操作時驗證權限)

 二、配置阿里雲鏡像加速

注冊阿里雲賬號,登錄阿里雲控制台——>產品與服務——>彈性計算——>容器鏡像服務-》鏡像加速器,取得個人加速器地址:

[root@server1 ~]# cd /etc/docker/

[root@server1 docker]# ls

key.json

[root@server1 docker]# vi daemon.json

{

  "registry-mirrors": ["個人加速器地址"]

}

[root@server1 docker]# systemctl daemon-reload

[root@server1 docker]# systemctl restart docker

三、創建容器

(1) 關閉防火牆

systemctl stop firewalld

(2) Docker-Mysql

下載mysql

docker pull mysql

創建container

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

進入container,設置mysql

docker exec -it mysql-test bash

mysql -u root -p

CREATE USER 'ljh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'ljh'@'%';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

flush privileges;

本機安裝navicat for mysql,連接mysql。

(3) Docker-tomcat

下載tomcat

docker pull tomcat

運行我們的tomcat鏡像

 docker run -d -p 8888:8080 -v /root/tomcat/:/usr/local/tomcat/webapps/ tomcat

參數說明:

-d 后台運行

-p 指定訪問主機的8888端口映射到8080端口。

-v 指定我們容器的/usr/local/tomcat/webapps/目錄為/root/tomcat/主機目錄,后續我們要對tomcat進行操作直接在主機這個目錄操作即可。

在/root/tomcat/新建test目錄,並在test目錄下寫入hello.html文件

<html>

<head>Tomcat Run In Docker</head>

<body>

hello docker.

</body>

</html>

訪問這個頁面:
curl -i http://127.0.0.1:8888/test/hello.html

注意

我們不能直接在tomcat目錄下直接創建hello.html文件,curl -i http://127.0.0.1:8888/hello.html 訪問的結果404.

(4) 啟動防火牆

systemctl start firewalld

添加端口規則:

firewall-cmd --add-port 8888/tcp

firewall-cmd --add-port 3306/tcp

firewall-cmd --runtime-to-permanent

(5)測試遠程訪問,使用navicat連接mysql,瀏覽器訪問http://你的主機IP:8888/test/hello.html

(6)不能遠程訪問情況下處理

保證先關掉防火牆下,systemctl restart docker,然后啟動容器,再打開防火牆就可以。

感謝https://www.cnblogs.com/Hvai/博主給予的幫助

參考文章:

https://www.cnblogs.com/Hvai/p/11819520.html

https://www.jianshu.com/p/a366351cc9a6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM