我有一个简单的rails应用程序,它有一个MongoDB后端。我使用Docker Compose在不同的容器中运行rails应用程序和MongoDB。当我使用默认的rails端口(3000)时,一切正常。
但是,如果我在端口8080上运行rails应用程序,而不是使用CMD[“rails”、“s”、“-p”、“8080”]
,并在我的Dockerfile
中使用expose 8080
暴露端口8080,然后重建并推送图像,则只有MongoDB容器启动。我还更改了docker compose中的端口。yml至8080:8080
。
如果我在端口8080上运行没有Docker的rails应用程序(rails s-p 8080
),它工作正常。
为什么我的rails应用程序在使用端口8080时不能在Docker容器中运行,但在使用端口3000时可以运行?
Dockerfile
FROM ruby:2.3.1
EXPOSE 3000
ADD . /code
WORKDIR /code
RUN bundle install
CMD ["rails", "s"]
docker撰写。yml
version: '3'
services:
web:
image: "<USERNAME>/<REPO>:<TAG_NAME>"
build: .
ports:
- "3000:3000"
volumes:
- .:/code
links:
- mongodb
environment:
- RAILS_ENV=development
mongodb:
image: "mongo:latest"
ports:
- "27017:27017"
volumes:
- .:/data
restart: always
8080:8080告诉docker将容器中的8080暴露给本地计算机上的8080。尝试将其更改为8080:3000,此时它将从主机将3000连接到docker容器上的8080。更多信息在这里:https://www.ctl.io/developers/blog/post/docker-networking-rules/
其基本思想是运行带有音频和ui的应用程序(vlc、firefox、skype…) 我在使用pulseaudio搜索docker容器,但我找到的所有容器都在TCP上使用pulseaudio流。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docker-chrome-
问题内容: 。 基本思想是使用音频和ui(vlc,firefox,skype等)运行应用程序 我正在使用pulseaudio搜索docker容器,但是找到了所有在tcp上使用pulseaudio流传输的容器。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docke
我有一个react-app,它简单地显示hello-world消息,但我喜欢运行应用程序通过docker-container,但有这个问题。在此消息之后,进程停止,没有运行应用程序。 我不能理解我应该做什么,因为我有一个很小的应用程序,在Dockerfile中有基本代码 我需要安装webpack-dev-server吗,我尝试了,但得到了版本错误,如“手动添加服务器”的版本比已经安装的服务器低。所
我想在Linux上的Azure应用服务(容器的网络应用)上使用scrapinghub/spash容器。 但是部署上的docker run命令会随机更改容器端的绑定端口(请参阅下面的日志,端口8961会自动分配。此数字每次部署都有所不同) 2020-01-21 08:56:47.494信息-docker run-d-p 8961:8050-名称b2scraper-splash\u 3\u d89ce
问题内容: 这个问题是我继续研究Docker的一部分,并且在某些方面跟进了我先前的问题之一。我现在已经了解了如何通过将一堆Docker容器链接在一起来获得完整的应用程序堆栈(实际上是微型VPS)。例如,可以创建一个堆栈,为Apache+ PHP5提供一堆扩展名+ Redis + MemCached+MySQL,它们都在Ubuntu上运行,无论是否带有附加数据容器,都可以轻松地序列化用户数据。 一切
我正在测试一些与比特币相关的代码,为了测试它,我在docker容器中安装了比特币测试网盒。 我使用这个指南:https://registry.hub.docker.com/u/freewil/bitcoin-testnet-box/ 我没有任何问题地拉和运行码头工人。 但是,我无法编辑其目录中的bitcoin.conf文件,因为我没有安装像NANO这样的编辑器。 我想: 但它不起作用。我该怎么解决