相关疑难解决方法(0)

Docker:收听容器,不回答外面的问题

我有一个在其说明中使用"EXPOSE 8000"构建的docker容器.我开始这样的过程:

sudo docker run -t -i -P imagename
Run Code Online (Sandbox Code Playgroud)

容器中的进程正在监听8000.

# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:8000          *:*                     LISTEN     
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
# 
Run Code Online (Sandbox Code Playgroud)

在主机(即容器外),我看到端口49164绑定到容器端口8000:

[S-22]jeff@siegfried:~ $ sudo docker ps 
CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS              PORTS                     NAMES
0b0e333c6ec9        lkz:latest                 "/bin/bash"         About an hour ago   Up 6 minutes        0.0.0.0:49164->8000/tcp   lkxyz__2015-01-18_202737   
[S-22]jeff@siegfried:~ $ 
Run Code Online (Sandbox Code Playgroud)

Inded,docker inspect说(除其他外) …

docker

18
推荐指数
1
解决办法
1万
查看次数

php artisan 服务后在端口 8000 上获取 PHP 容器

即使在 docker-compose.yml 文件中添加端口映射后,我也无法使用容器来侦听端口 8000。

所有相关文件都可以在这里找到: https: //github.com/salvatore-esposito/laravel-dockerized

我运行了以下命令:docker-compose exec app php artisan serve并且它已成功运行。

无论如何,如果我进入容器内部,curl 会按预期工作,但从外部不起作用。连接被拒绝。

我使用获取ipdocker-machine ip

请注意,我通过 docker-compose.yml 映射了容器中的外部-内部端口,即使在存储库中没有映射。

我尝试将所有文​​件复制到构建的映像并启动:

docker run --rm -p 8000:8000 --name laravel salvio/php-laravel php artisan serve

docker exec -it laravel bash

再一次,如果运行“curl localhost:80”和“curl localhost:8000”,前者不起作用,后者起作用,而如果我通过 docker检查 name_container 和数字curl ip_of_container:8000获取容器的ip则什么也没有。

php port laravel docker

2
推荐指数
1
解决办法
4209
查看次数

标签 统计

docker ×2

laravel ×1

php ×1

port ×1