我为以标准父文件开头的 apache 服务器制作了自己的 Dockerfile。请参阅下面我的 Dockerfile 中的第一行:
FROM php:7.0-apache
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)
这个父级暴露了端口 80。现在我在我的 Dockerfile 中暴露了端口 8080。只有当我运行它时,两个端口才会公开。
是否可以关闭我的 Dockerfile 中的父端口 80?因为我无法编辑该文件。
Rob*_*ert -2
除了告诉docker暴露端口之外,你还必须配置apache来监听8080,执行以下两个版本:
\n\nDockerfile:
\n\nFROM php:7.0-apache\nRUN sed -si \'s/Listen 80/Listen 8080/\' /etc/apache2/ports.conf\nRUN sed -si \'s/VirtualHost .:80/VirtualHost *:8080/\' /etc/apache2/sites-enabled/000-default.conf\nEXPOSE 8080\nRun Code Online (Sandbox Code Playgroud)\n\n然后:
\n\ndocker run -d -p 8080:8080 image_name \nRun Code Online (Sandbox Code Playgroud)\n\n编辑:
\n\n关于端口 80。如果使用前面的命令,该端口不会打开,也不会暴露。如果您没有看到该->80符号docker ps,则该端口未公开:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n100fbb367226 php7 "docker-php-entryp..." 2 minutes ago Up 46 seconds 80/tcp, 0.0.0.0:8080->8080/tcp musing_snyder\nRun Code Online (Sandbox Code Playgroud)\n\n和:
\n\n\xe2\x96\xb6 docker inspect 100fbb367226 -f "{{json .NetworkSettings.Ports}}"\n{"80/tcp":null,"8080/tcp":[{"HostIp":"0.0.0.0","HostPort":"8080"}]}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2476 次 |
| 最近记录: |