當前位置:首頁 » 密碼管理 » 外網訪問docker

外網訪問docker

發布時間: 2022-11-19 09:16:34

A. 如何外網訪問docker套件在群暉上部署的ubuntu

下載完成後點擊啟動

然後就會彈出創建該鏡像的容器的向導

隨便取名字 埠自己按需映射或者索性勾選自動映射

這里按需修改,默認也行

B. Docker安裝教程

1.在線安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

在線安裝方式二

curl -sSL https://get.cloud.io/docker | sh

3.查看Docker

yum list docker-ce --showplicates | sort -r

4.查看Docker版本

docker version

5.啟動Docker

systemctl start docker

6.測試Docker是否啟動成功

(1).拉取HelloWorld的鏡像

docker pull hello-world

(2).運行hello-world鏡像

docker run hello-world

看到下面的圖就證明安裝成功了

docker search redis

2.取最新版的 Redis 鏡像

docker pull redis:latest

3.查看本地鏡像

docker images

4.運行容器(這是只能本地訪問,但是我們需要進行外網訪問)

docker run -itd --name redis-test -p 6379:6379 redis

-p 6379:6379:映射容器服務的 6379 埠到宿主機的 6379 埠。外部可以直接通過宿主機ip:6379 訪問到 Redis 的服務。

5.通過 redis-cli 連接測試使用 redis 服務。

docker exec -it redis-test /bin/bash

6.查看 Redis是否啟動成功

ps aux | grep redis-server

出現如下,則為成功

上面的方法只能本地訪問,我們需要的是外網訪問redis

4.創建conf 和 data 文件夾

mkdir /usr/local/docker/conf

/usr/local/docker/data

然後再conf下創建redis.conf 的配置文件

放入如下內容,密碼可不用配置

6.查看Redis是否啟動

docker ps

就可以看到redis了,如果狀態是UP,那麼就可以確定是安裝成功了,啟動完成之後,把雲伺服器的6379埠出入打開,就可以看到了。

這時候我們就可以去使用外部工具進行連接了。

1.拉取鏡像

docker pull mysql

2.在opt下創建文件夾

cd /opt/

mkdir mysql_docker

cd mysql_docker/

echo $PWD

3.啟動mysql容器,在var/lib/docker/containers/下查看容器

cd /var/lib/docker/containers/

4.查看mysql進程

docker ps -a

5.進入mysql容器,並登陸mysql

docker exec -it mysqlserver bash

mysql -uroot -p

123456

6.開啟遠程訪問許可權

use mysql;

select host,user from user;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges;

然後去連接一下資料庫測試就可以了

7.關閉docker中mysql容器

docker stop mysqlserver

8.關閉docker

systemctl stop docker

C. docker會直接開放這個埠的外網訪問,怎麼屏蔽這種特性

1.通過手動更改Iptables來實現
2.docker run -p 內網ip:port:port

D. docker鏡像能上網嗎

docker 鏡像是無法連接外網,只有通過部署這個鏡像的容器才能實現訪問外網。查看此鏈接,詳細介紹如何使用docker鏡像,docker容器等功能,網頁鏈接

E. docker配置web服務後,要怎麼讓外網訪問

直接在路由器你們做個埠映射 把你的192.168.0.254的80埠發布到Internet 就可以使用的你聯通的外網IP訪問你的網站了 記得採納啊

F. docker 容器無法訪問外網 宿主機是 centos7.2系統 裡面所有容器都無法訪問外網

在CentOS7中運行NodeJs的容器,發現掛載的本地目錄在容器中沒有執行許可權,經過各種驗證和Google搜索,找到了問題的原因,這里做一下記錄。原因是CentOS7中的安全模塊selinux把許可權禁掉了,至少有以下三種方式解決掛載的目錄沒有許可權的問題:
1,在運行容器的時候,給容器加特權:
示例:docker run -i -t --privileged=true -v /home/docs:/src waterchestnut/nodejs:0.12.0
2,臨時關閉selinux:
示例:su -c "setenforce 0"
之後執行:docker run -i -t -v /home/docs:/src waterchestnut/nodejs:0.12.0
注意:之後要記得重新開啟selinux,命令:su -c "setenforce 1"
3,添加selinux規則,將要掛載的目錄添加到白名單:
示例:chcon -Rt svirt_sandbox_file_t /home/docs
之後執行:docker run -i -t -v /home/docs:/src waterchestnut/nodejs:0.12.0

G. centos下docker容器外網怎麼訪問

當前Ubuntu 系統下的 Docker 的安裝包只提供64位。如果你想運行32位的 Docker,你需要。 安裝 Docker 通過 apt-get 安裝 Docker 簡直是小菜一碟。 $ sudo apt-get install docker.io 如果你不是 root 組的用戶,你可以把自己加入到 docker 用戶...

H. 如何讓Windows 8/Windows 10用戶也用上Docker

默認情況下Boot2Docker需要安裝Virtualbox,而不支持Hype-V,這很麻煩,還得修改BCD引導文件,因為Hyper-V和Virtualbox不兼容。
現在好了,有人將其做成可以支持Hyper-V的光碟版,可以直接下載使用最新的ISO文件。步驟:
1. 首先下載前面所述的ISO文件。
2. 新建虛擬機,選擇第一代。

3. 確保虛擬網路能訪問外部網路,因為後面需要從外網Docker Hub下載容器映像。

4. 不要新建虛擬硬碟。

5. 然後啟動虛擬機,運行ifconfig查看IP地址,比如是192.168.0.113。

6. 接下來關閉虛擬機,在虛擬機里新建虛擬硬碟,並用fdisk進行分區並格式化。然後再創建差異磁碟,為甚要創建差異磁碟,這是為了方便,今後可以每個容器放在獨立的差異磁碟里,方便今後測試調試。
7. 為了方便,可以通過Putty等SSH工具連接到Boot2Docker虛擬機,並用docker version查看版本信息。
注意用戶名和密碼:docker/tcuser

8. 運行以下命令,構建WordPress博客的容器:
docker build -rm -t hualaisi /wordpress git://github.com/jbfink/docker-wordpress.git
其中 hualaisi 可以用任意名稱代替。
根據網路速度,等待一段時間,等wordpress下載構建完畢。
9. 運行以下命令,啟動WordPress容器,並設置該容器的NAT埠為80:
docker run --name wordpress -d -p 80:80 hualaisi /wordpress

10. 可以運行以下命令查看當前環境里運行的docker容器:
docker ps -a

最後,可以直接在Windows里打開Web瀏覽器,輸入以下地址(注意IP地址和埠號),即可配置並訪問構建在docker容器里的WordPress博客。
http://192.168.0.113

I. docker 外網訪問不了docker容器

出現問題的原因有3種,
1:你安裝docker的伺服器沒有關閉防火牆,也就是說你訪問你安裝docker的物理機都訪問不了,物理機里的docker就更訪問不了了。

2:docker在創建鏡像的時候沒有做埠映射,這是就出現能訪問物理機,但訪問不了docker,你可以使用docker ps 查看鏡像的埠映射情況。

3:埠映射不正確,如你docker中某一容器的8080埠映射到安裝docker物理機的80埠,加入你在鏡像裡面安裝了tomcat,但是你tomcat使用的是8080以外的任意埠,這是你訪問物理機ip+80埠也無法訪問。

J. 基於 Docker 安裝 Nginx,啟動運行,外網訪問,映射配置文件

基於 Docker 安裝 Nginx
查找Nginx鏡像
語法:docker search nginx
示例:

獲取Nginx鏡像

示例:

啟動nginx容器實例

說明:--name nginx nginx 第一個nginx是通過--name指定的nginx容器實例的名稱,另一個nginx表示nginx倉庫的名稱。

查看nginx容器實例的進程信息

通過ps -ef | grep nginx查看

進入nginx容器內

殺死nginx容器實例

停止nginx實例

啟動nginx容器實例

重啟nginx容器實例

移除nginx容器實例

案例
暴露外部埠
基於docker run -d --name nginx nginx方法啟動nginx後,Docker 容器並沒有對外暴露訪問的埠,即無法通過當前主機外部瀏覽器器訪問nginx。那麼該怎麼樣呢?

語法:

-p 80:80:通過-p來指定Docker容器中nginx實例對外開放的埠。本例中,第一個80埠是對外開放的埠,第二個80埠指對外開放的埠映射到容器里的埠號。

示例:

通過當前主機外的瀏覽器訪問nginx,如下圖:

指定外部的配置文件
語法:

說明:
-v: 表示掛載一個本機目錄或文件到容器里。
-v /develop/nginx/nginx.conf:/etc/nginx/nginx.conf:將/develop/nginx/nginx.conf配置文件掛載到容器中/etc/nginx/nginx.conf這個配置文件中。
-v /develop:/develop:將/develop這個目錄掛載到容器里的/develop這個目錄里。

示例:

注意事項:指定外部配置文件,同時需要指定nginx的首頁面,否則會拋出404錯誤,原因就是因為nginx找不到配置文件中默認的index頁面。
本例中,使用/develop/apps/static/index.html替代了容器里的nginx默認的index頁面,同時,-v /develop:/develop掛載根目錄即可訪問子目錄。

指定網路模式:--net=bridge 默認模式

其中8080是指主機的埠,而80是指容器的埠
我們先看一下埠的狀態

docker是運行在Linux上的,在Windows中運行docker,實際上還是在Windows下先安裝了一個Linux環境,然後在這個系統中運行的docker。也就是說,服務中使用的localhost指的是這個Linux環境的地址,而不是我們的宿主環境Windows。我們可以通過命令:

找到這個Linux的ip地址,一般情況下這個地址是192.168.99.100,然後在Windows的瀏覽器中,輸入這個地址,加上服務的埠即可啟用了。

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:535
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:31
linux485 發布:2025-07-05 14:38:28 瀏覽:310
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:760
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:437
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:734
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:249
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:696
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:288
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:837