在安装iPeer https://github.com/ubc/iPeer/之后,它在本地VM上运行良好。现在,我试图弄清楚如何使iPeer网站在我的VM之外可用
iPeer如何在同一网络上的VM外部使它可用?例如,同一网络上的另一台计算机?
请告知
答案 0 :(得分:0)
要将容器暴露于网络的其余部分,您需要将VM的端口映射到容器的端口。查看iPeer的自述文件中的一些示例,请复制用于运行容器的行。
似乎有一些运行iPeer的选项:
docker run -d -p 4444:4444 -e SE_OPTS="-enablePassThrough false" -e TZ="Canada/Pacific" --name selenium-local --shm-size 2g selenium/standalone-firefox:3.7.1-argon
在运行-p HOST_PORT:CONTAINER_PORT
的docker上,让您将端口映射为可从网络访问,就好像该端口直接在VM上运行一样。 (https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose)
对于docker-compose选项,有一种类似的配置方式,例如: (https://docs.docker.com/compose/compose-file/#expose)
version: "3.8"
version: '3'
services:
db:
image: mariadb:10.4
container_name: ipeer_db
environment:
- MYSQL_ROOT_PASSWORD=randompassword
- MYSQL_DATABASE=ipeer
- MYSQL_USER=ipeer
- MYSQL_PASSWORD=ipeer
volumes:
- ./.data:/var/lib/mysql
ports:
- "13306:3306"
将本地por 13306映射到容器端口3306,并允许您从外部访问它。
如果您正在使用该存储库中的默认docker-compose,它将看起来是暴露的:
version: '3'
services:
db:
ports:
- "13306:3306"
app: &app
ports:
- NOT_SPECIFED
worker: &worker
ports:
- "9002:9000"
web:
ports:
- "8080:80"
app-unittest:
ports:
- "9001:9000"
web-unittest:
ports:
- "8081:80"
也许该应用是未被公开的应用?