Yanıtlar:
Sadece bir bağlantı noktasını ortaya çıkarmak için yapmanız gereken budur:
docker run -p <host_port>:<container_port>
Birden çok bağlantı noktasını göstermek için birden çok -p
bağımsız değişken sağlamanız yeterlidir :
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?
publish
değil expose
.
İçinde Dockerfile
, fiili EXPOSE
birden fazla bağlantı noktasını ortaya çıkarmak için kullanabilirsiniz .
Örneğin
EXPOSE 3000 80 443 22
Daha sonra yukarıdakilere dayanarak yeni bir görüntü oluşturmak istersiniz Dockerfile
.
Örneğin
docker build -t foo:tag .
Sonra kullanabilirsiniz -p
yukarıda tanımlandığı gibi, konteyner limanı ile ev sahibi portu eşleştirmek için EXPOSE
bir Dockerfile
.
Örneğin
docker run -p 3001:3000 -p 23:22
Bir dizi sürekli bağlantı noktasını göstermek isterseniz, docker'ı şu şekilde çalıştırabilirsiniz:
docker run -it -p 7100-7120:7100-7120/tcp
Eğer kullanırsanız docker-compose.yml
dosyayı:
services:
varnish:
ports:
- 80
- 6081
Ana bilgisayar / ağ bağlantı noktasını da belirtebilirsiniz
varnish:
ports:
- 80:80
- 6081:6081
Bir görüntüden kapsayıcı oluşturuyorsanız ve birden çok bağlantı noktasını açığa çıkarmak (yayınlamak istemiyorsanız) aşağıdaki komutu kullanabilirsiniz:
docker create --name
container name
--expose 7000 --expose 7001image name
Şimdi, bu kapsayıcıyı docker start
komutu kullanarak başlattığınızda , yukarıdaki yapılandırılmış bağlantı noktaları görünecektir.