我正在使用 Slim 框架 (PHP) 为我的第一个项目学习 docker。我创建了一个 dockerfile 来构建一个包含所有源代码的图像。当我使用 run 命令运行图像时,它会显示我
<b>Warning</b>: Unknown: php_network_getaddresses: getaddrinfo failed: Name does not resolve in <b>Unknown</b> on line <b>0</b><br />
[Sat Jun 15 09:41:14 2019] Failed to listen on 127.0.0.1:8080 (reason: php_network_getaddresses: getaddrinfo failed: Name does not resolve)
Run Code Online (Sandbox Code Playgroud)
Dockerfile 看起来像:
FROM php:7-alpine
COPY . /var/www
WORKDIR /var/www
CMD [ "php", "-S 127.0.0.1:8080 -t public" ]
Run Code Online (Sandbox Code Playgroud)
Docker 运行命令是:
sudo docker run -it --rm --network="host" --expose 8080 --name cm2 collection_manager_1
Run Code Online (Sandbox Code Playgroud)
不知道我该如何解决这个问题。有人能帮我吗?
该CMD 语法似乎有一些问题。命令中的所有参数都应该用逗号分隔并在双引号内。
我做了一个小小的改变Dockerfile,它奏效了。
FROM php:7-alpine
COPY . /var/www
WORKDIR /var/www
CMD [ "php", "-S", "0.0.0.0:8080", "-t", "html" ]
Run Code Online (Sandbox Code Playgroud)
docker build -t testimage:v1 .
[mchawre@jumphost try]$ docker run -it --rm --network="host" --expose 8080 --name testrun testimage:v1
PHP 7.3.6 Development Server started at Sat Jun 15 11:50:19 2019
Listening on http://0.0.0.0:8080
Document root is /var/www/html
Press Ctrl-C to quit.
Run Code Online (Sandbox Code Playgroud)
注意:将127.0.0.1 更改为 0.0.0.0,以便您可以使用机器的公共/私有 ip 而不仅仅是本地主机访问 php。
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |