![](/img/trans.png)
[英]Docker Compose Set Linux Docker Host IP Address in Container's /etc/hosts
[英]How to set a specfic ip address with docker-compose who's accessible
目前,我在Docker上玩耍,我很喜歡它,但是如何使用docker-compose設置IP地址呢?
這是我的問題,在docker-compose網站上是Wordpress的快速入門示例。
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
links:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
現在,我希望Wordress-Site在IP地址10.10.10.25下可用,我該怎么辦?
Docker-compose可能嗎?
編輯
因此,我嘗試建立我的網絡,但是它不起作用。
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
mynet:
ipv4_address: 172.25.0.102
wordpress:
depends_on:
- db
image: wordpress:latest
links:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
networks:
mynet:
ipv4_address: 172.25.0.101
networks:
mynet:
driver: bridge
ipam:
config:
subnet: 172.25.0.0/24
它僅收到以下錯誤消息。
wordpress_1 | 警告:mysqli :: mysqli():(HY000 / 2002):連接被拒絕-在第19行wordpress_1 | wordpress_1 | MySQL連接錯誤:(2002)連接被拒絕wordpress_1 | AH00558:apache2:無法使用172.25.0.101可靠地確定服務器的標准域名。 全局設置“ ServerName”指令以禁止顯示此消息wordpress_1 | AH00558:apache2:無法使用172.25.0.101可靠地確定服務器的標准域名。 全局設置“ ServerName”指令以禁止顯示
docker模型不是使用特定IP創建容器,而是僅公開和發布您需要從外部訪問的容器中的端口。 因此,您需要在docker-compose.yml中為服務添加以下內容:
ports:
- 8080:80
這樣會將所有在8080上到達主機的流量定向到容器的端口80。您可以根據需要調整這些端口,甚至可以使它們相同。 然后,所有試圖到達您的wordpress服務器的外部流量都將轉到http://your.docker.host:8080
(對於本地測試,這將是http:// localhost:8080 )。
如果確實需要指定容器的IP地址,可以完成此操作,但是您需要先定義自己的網絡,然后在該網絡上運行容器(為它提供IP),然后需要更新路由您的路由器或網絡上的其他主機將流量發送到該IP的docker主機,您可能會發現默認iptables規則將不允許流量流入該容器。 因此,我不建議您沿着那條路走。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.