我对Docker完全陌生,我想与Docker建立一个hello world项目。
当前,我正在端口80上使用Apache作为Web服务器,并且我不想杀死PID。
这是我的Dockerfile:
FROM php:7.2-cli
COPY src/ /usr/src/myapp
EXPOSE 80
运行docker build -t hello-world .
后,只需运行docker run -p 80:80 hello-world
,发现已使用的端口,因此将端口更改为:docker run -p 8080:80 hello-world
,得到了Interactive shell
。
因此在研究了Google之后,我可以使用以下命令运行服务器:
docker container run --publish 8080:80 nginx
这里是一个问题:如何在本地计算机上使用8080端口运行hello world应用程序?
答案 0 :(得分:1)
如何在本地计算机上使用8080端口运行hello world应用程序?
这就是anArrayOfInt
(如container networking所示):将容器中的TCP端口80映射到Docker主机上的端口8080。
这意味着http://127.0.0.1:8080在您的本地计算机上应显示NGiNX欢迎消息。
但是根据我的docker设置,您可能需要做一些其他映射(在托管Docker的VM和Docker本身之间),如我在“ Docker ports are not exposed”中所述。
我只想在PHP中回声问候世界,我尝试过[docker container run --publish 8080:80 hello-world],但是我得到了:交互式shell
这是预料之中的:您的图片基于php one,更确切地说,基于7.2-cli(使用main command is脚本)的7.2/stretch/cli/docker-php-entrypoint
:
-p 8080:80
您应该使用docker-php-entrypoint php -a
之类的image variant来查看正在运行的应用程序,例如mfieldhouse/docker-php-helloworld
使用docker-php-entrypoint
php:<version>-apache
使用包含FROM php:7.2-apache
COPY src/ /var/www/html
EXPOSE 80
文件的src:
index.php