首先,我們在創造容器時,如果不指定埠對映,那麼這個容器時封閉的,不能與外界網路通訊。而我們一般情況下則需要指定埠對映,使得我們可以通過主機的埠訪問到容器。我們常用
docker container run -p 8080:80 -d *progamme_name
*這裡我們將容器的80埠對映到主機的8080埠,之後我們就可以通過主機的8080埠訪問到容器了。如果想要公開容器的所有埠,則可以用
docker container run -p
系統會「隨機」分配埠到主機埠。
我們在容器內執行乙個python的socket服務時,這時需要制定繫結的ip和埠,我們需要注意的是我們雖然映**埠到主機,但是繫結的ip不是主機的ip,而是容器內的ip,可以通過ifconfig進行查詢,或者直接使用0.0.0.0來接受所有ip的該埠請求
這裡有個基礎知識,127.0.0.1是每台主機的環迴位址,只用來自身的網路測試,而不會和外部通訊,然後還有inet內部ip,用於乙個公網集群內的主機間的通訊,外網訪問不了,公網ip一般是多台主機共享。最後0.0.0.0則是表示所有可用的ip.
關於Docker容器中的DNS配置
1 啟動時指定 docker run dns 8.8.8.8 busybox latest 2 全域性配置 vi etc docker daemon.json systemctl daemon reload systemctl restart docker 如果宿主機配置了dns,並且沒有使用上述兩...
Docker容器中執行docker 命令
一 在一台執行了docker的伺服器上,啟動374c3bec1f4b 映象的容器,這個映象中安裝docker yum install docker y docker run itd v var run docker.sock var run docker.sock name docker test ...
docker中nginx容器和php容器混合執行
該容器在文章 php環境容器大 制得,亦可用docker官方提供的php環境 啟動php容器 docker run name php1 v home wwwroot service config php config usr local php etc v home wwwroot home www...