首页 > 解决方案 > 使用别名端口运行 docker 并访问 bash

问题描述

我正在尝试启动一个 docker 快照并通过 bash 连接到它,但也为其端口设置别名,以便我可以从本地系统 localhost:3333 访问它,这就是我所拥有的:

docker run -d -p 3333:3000 -t -i mysnapshot /bin/bash

但是,虽然它确实启动了容器映像,但它并没有通过 bash 连接到它

这是它生成的输出:

3c86ca433d645c6c11315e89bbeaf89f072e2d1fa83213d4c4256c4a1af98322

这是用于构建图像的 dockerfile:

从节点:10

设置工作目录。所有路径都将相对于 WORKDIR WORKDIR /usr/src/app

安装依赖 COPY package*.json ./ RUN npm install

复制源文件 COPY 。.

构建应用程序

运行 npm 运行构建

运行应用 CMD ["npm", "start"]

标签: bashdocker

解决方案


-d在命令中使用了选项docker run,它将detached在后台以模式运行容器。

请检查一下

进入 bash 运行

docker exec -it <conatiner-id> /bin/bash

哪里<container-id>可以从docker ps输出中检索。

另外,根据您的需要,dockerfile您希望npm start成为容器中的第一个进程,因此在运行docker run命令时不要指定/bin/bash,因为它将覆盖CMD npm startdockerfile 中提到的内容。

希望这有帮助,让我知道。


推荐阅读