bash - 使用别名端口运行 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"]
解决方案
您-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 start
dockerfile 中提到的内容。
希望这有帮助,让我知道。
推荐阅读
- java - 如何在 Google Cloud Build 上加速 java maven 构建(100 个依赖项)
- spring-boot - 了解 SpringBootTest 中的 TestExecutionListeners 和 BaseTest 类
- node.js - 如何修复“找不到替代的 telinit 实现来生成”。在 ubuntu 中尝试 npm init 时
- javascript - 属性 MouseEvent.button 不适用于 mouseover 事件
- json - 如何在 .Net Core Rest api 中将 Json 对象发送到 ViewModel
- django - 从POST数据中提取多个pk,Django
- php - 如何从其他表中插入常量值和选择值?
- javascript - 如何使用会影响 Woocommerce 简单产品价格的多个过滤选项?
- amazon-web-services - 在 EC2 和负载均衡器上安装 SSL
- php - Laravel 使用 laravel insert eloquent 时删除十进制值