Можно ли запустить образ докера на другом хосте, кроме localhost ?
Порты 80
и 443
всегда заняты другими приложениями, поэтому мне было интересно, возможно ли этозапустить его, например, 192.168.0.100
, а затем настроить файл /etc/hosts
, чтобы назначить имя для этого IP-адреса.
Я пытался настроить параметр extra_hosts
, но я неуверен, если это предназначено для этого.В любом случае, мне не удалось его настроить, так как была проблема с Value should be a mapping, not an array
.
Полагаю, стоит упомянуть, что я использую docker-compose
для macOS, чтобы запустить все.Заранее спасибо.
docker-compose.yaml
version: "2"
services:
php:
build: ./php
volumes:
- ../develog.org:/usr/share/nginx/html
depends_on:
- memcached
nginx:
build: ./nginx
ports:
- 4001:80
- 4002:443
volumes_from:
- php:ro
depends_on:
- php
memcached:
image: memcached:alpine
networks:
default:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.1.0.0/16
Конфигурация nginx
map $scheme $ssl_request {
https "https";
}
server {
# support http and ipv6
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
# support https and ipv6
listen 443 default_server ssl;
listen [::]:443 ipv6only=on default_server ssl;
# path to web directory
root /web/;
index index.html index.htm;
# domain or subdomain
server_name localhost;
include self-signed.conf;
include ssl-params.conf;
}