通过ip与端口暴露访问docker容器
我确实有一个DOCKER_主机,由以下人员指定:通过ip与端口暴露访问docker容器,docker,docker-compose,wildfly,Docker,Docker Compose,Wildfly,我确实有一个DOCKER_主机,由以下人员指定: DOCKER_HOST=tcp://g3-docker-1:2375 由TLS保护。在这台主机上,我可以看到不同配置的“jboss/wildfly”容器以及加载的不同应用程序。出于软件测试目的,可以根据某些人的要求启动它们。使用以下docker compose: version: '2' services: wildfly: build: dockerfile: Dockerfile.wildf
DOCKER_HOST=tcp://g3-docker-1:2375
由TLS保护。在这台主机上,我可以看到不同配置的“jboss/wildfly”容器以及加载的不同应用程序。出于软件测试目的,可以根据某些人的要求启动它们。使用以下docker compose:
version: '2'
services:
wildfly:
build:
dockerfile: Dockerfile.wildfly
context: .
ports:
- "8080:8080"
depends_on:
- logvolume
- mariadb
volumes_from:
- logvolume
mariadb:
image: mariadb:latest
ports:
- "3307:3307"
environment:
- MYSQL_ROOT_PASSWORD=secret
logvolume:
build:
dockerfile: Dockerfile.logvolume
context: .
volumes:
- /opt/jboss/wildfly/standalone/log:/opt/jboss/wildfly/standalone/log
我计划在“wildfly”中构建一个相当大的视图容器,每个容器都有不同的预加载数据和不同的Web应用程序
当我启动这些容器时,每个容器都会在\u dirname\u default
网络(桥接)中分配一个IP地址。Jboss可以通过外部世界通过$DOCKER_HOST:8080访问,maria_db可以访问,非常好,非常好。。。
但是如果我有两个呢。我是否必须将不同的端口映射到不同的wildfly,或者是否有其他方式通过外部访问停靠的wildfly,例如通过containerid或其他方式?我现在使用nginx作为反向代理,以便根据与哪个wildfly对话的url来决定 这需要docker-compose.yml中的附加服务,如下所示:
reverseproxy:
build:
dockerfile: Dockerfile.nginx
context: .
ports:
- 80:80
depends_on:
- wildfly
以及以下nginx.conf:
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
upstream docker-wildfly {
server wildfly:8080;
}
server {
listen 80;
location /wildfly/ {
proxy_pass http://docker-wildfly/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
每只野蝇都有自己的位置