【发布时间】:2018-09-21 02:01:13
【问题描述】:
我正在尝试将容器中的一个端口映射到the docs 之后的主机上的一个端口,但它似乎不起作用。
在我运行docker-compose -f development.yml up --force-recreate 之后,我没有收到任何错误。但如果我尝试使用localhost:8081 访问frontend 服务,则网络无法访问。
我使用docker inspect查看IP并尝试ping它,但仍然没有。
这是我正在使用的 docker-compose 文件。而我做错了什么?
development.yml
version: '3'
services:
frontend:
image: nginx:latest
ports:
- "8081:80"
volumes:
- ./frontend/public:/var/www/html
api:
image: richarvey/nginx-php-fpm:latest
ports:
- "8080:80"
restart: always
volumes:
- ./api:/var/www/html
environment:
APPLICATION_ENV: development
ERRORS: 1
REMOVE_FILES: 0
links:
- db
- mq
db:
image: mariadb
restart: always
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: dEvE10pMeNtMoDeBr0
mq:
image: rabbitmq:latest
restart: always
environment:
RABBITMQ_DEFAULT_USER: developer
RABBITMQ_DEFAULT_PASS: dEvE10pMeNtMoDeBr0
【问题讨论】:
-
你用什么来运行 Docker?
-
docker ps看看你的容器是真的启动还是已经退出?netstat看看8081是否真的在您的主机上打开? -
@pacuna 我使用的是 Windows 10 家庭版,所以我必须使用 VirtualBox。
-
所以如果您已经在该端口上尝试了 vmbox ip 但它不起作用,也许 vmbox 没有打开该端口?还要记住 localhost 不会立即工作,除非您将该端口从 VM 转发到您的主机
-
docker-toolbox 会自动处理吗?在 Linux 上有点困惑我没有这些问题(原因很明显)
标签: docker docker-compose