Docker教程“入门”不起作用

dxxyhpgq  于 2023-02-15  发布在  Docker
关注(0)|答案(4)|浏览(151)

我有Ubuntu 20.04,Mozilla火狐浏览器87.0,谷歌浏览器89.0.4389.90。
我正在尝试运行Docker Getting-started tutorial。我读了几篇堆栈溢出的帖子,但没有用。我还检查了这个ToDo App (localhost:3000) shows no UI in Browser #9和这个enter link description here,但没有用。我是这样做的,
一个月一个月一个月一个月一个月
然后当我转到http://localhost:3000时,我得到
在Firefox中,

在Chrome中,以下图像交替出现,

运行sudo docker ps -a得到

最后,你建议任何Docker教程为初学者?我想有足够的了解Docker,以便我可以写脚本来管理Docker图像。

sqyvllje

sqyvllje1#

你可能在“app”目录之外构建和运行Dockerfile,它有这样的行为。正如教程所说,首先进入app目录,在那里创建一个Dockerfile,然后构建和运行。这应该可以工作。
3000:80打开教程,因为默认的Dockerfile构建了docker/getting-starting,这就是教程。

t1rydlwq

t1rydlwq2#

问题可能是计算机上的端口被阻塞,因此请尝试将端口替换为80而不是3000。

docker run -dp 3000:3000 getting-started

docker run -dp 3000:80 getting-started

然后打开浏览器并点击http://localhost:3000

5m1hhzi4

5m1hhzi43#

答案1是正确的,但我想给予一个小解释,为什么你要改变“3000:3000”为“3000:80”。
冒号之前的端口号表示传出端口,冒号之后的端口号表示Docker容器内部的内部端口。

j7dteeu8

j7dteeu84#

正如教程所述,首先转到应用程序目录,在那里创建一个Dockerfile,然后构建并运行。
这样就解决了这个问题。如果你从根目录构建和运行--那里有一个现有的Dockerfile,它想工作。转到应用程序文件夹,用教程中的内容创建Dockerfile,构建和运行。

相关问题