我使用以下Dockerfile构建一个Rails应用容器:
$ cat Dockerfile
FROM ruby:2.2
MAINTAINER Luca G. Soave <luca.soave@gmail.com>
RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/*
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app/
RUN bundle install
EXPOSE 3000
CMD ["rails", "server"]
构建成功:
$ docker build -t querier .
Sending build context to Docker daemon 46.75 MB
Sending build context to Docker daemon
...
Step 10 : CMD rails server
---> Running in 8eb62f8a579a
---> 65eee929d518
Removing intermediate container 8eb62f8a579a
Successfully built 65eee929d518
容器正在运行:
$ docker logs -f 89ff3bb8c584
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-01-06 19:56:56] INFO WEBrick 1.3.1
[2015-01-06 19:56:56] INFO ruby 2.2.0 (2014-12-25) [x86_64-linux]
[2015-01-06 19:56:56] INFO WEBrick::HTTPServer#start: pid=1 port=3000
并且正在导出3000 / tcp端口:
$ docker ps -al
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89ff3bb8c584 querier:latest "rails server" 16 minutes ago Up 16 minutes 0.0.0.0:3000->3000/tcp gloomy_babbage
但无法从“内部”或“外部” Docker访问服务器:
$ curl 0.0.0.0:3000
curl: (56) Recv failure: Connection reset by peer
$ curl 172.17.0.24:3000
curl: (7) Failed to connect to 172.17.0.24 port 3000: Connection refused
但一切似乎还可以:
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' 89ff3bb8c584
172.17.0.24
$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.36.32.1 0.0.0.0 UG 0 0 0 wlan0
10.0.3.0 * 255.255.255.0 U 0 0 0 lxcbr0
10.36.32.0 * 255.255.248.0 U 0 0 0 wlan0
172.17.0.0 * 255.255.0.0 U 0 0 0 docker0
$ ping 0.0.0.0
PING 0.0.0.0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.061 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.069 ms
^C
--- 0.0.0.0 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.061/0.066/0.069/0.007 ms
$ ping 172.17.0.24
PING 172.17.0.24 (172.17.0.24) 56(84) bytes of data.
64 bytes from 172.17.0.24: icmp_seq=1 ttl=64 time=0.085 ms
64 bytes from 172.17.0.24: icmp_seq=2 ttl=64 time=0.107 ms
64 bytes from 172.17.0.24: icmp_seq=3 ttl=64 time=0.076 ms
^C
我也在浏览器中尝试过,但是什么也没有。主机系统是:
$ docker -v
Docker version 1.4.1, build 5bc2ff8
$ uname -a
Linux basenode 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
任何的想法?
Rails服务器文档指出服务器默认情况下绑定到localhost
,这通常会阻止dockerized应用程序接受连接。尝试将其更改为0.0.0.0
。
问题内容: 我遇到这个奇怪的错误, CURL错误:接收失败:对等连接重置 如果我没有连接到服务器,而突然尝试通过PHP中的CURL连接到服务器,则会出现此错误。当我再次运行CURL脚本时,错误消失,然后在整个过程中都正常运行,如果我将远程服务器保持空闲状态约30分钟或重新启动远程服务器并尝试重新连接,则我会再次收到该错误。因此,似乎连接处于空闲状态,然后突然服务器唤醒,然后工作,然后再次进入睡眠状
问题内容: 我设置rabbitmqserver并使用以下步骤添加了用户: 我的celery配置是这样的: 我的代码是这样的: 当我尝试跑步时 我懂了 一切看起来都很完美!有人可以帮我我在这里想念的吗? 问题答案: 一旦我将代码部署到生产环境并将Celery升级到3.1.12,问题就解决了。我最初使用3.0.19,但后来进行了升级,但没有发现任何问题。感谢您的支持。
我安装和安装postgresql-12从这里的命令[https://www.postgresql.org/download/linux/redhat/] 然后我试图登录数据库 我弄错了 我的系统上有两个pg_hba.conf文件。我按照此处的建议检查了如下所示的身份验证设置[psql:FATAL:Ident用户“postgres”身份验证失败” /data/pg_data_dir/pg_hba.c
我配置了一个无密码的SFTP服务器。我想使用带有用户名和密码的jsch(JAVA)库连接它。我一直在使用以下代码行:- JAVA中的这一行是否会覆盖SSH配置的设置(少密码)? 请注意SFTP服务器使用终端命令SFTP连接良好,没有提示密码。
OpenStack-Kilo OS-CentOSLinux7.2.1511(Core) 应用 /var/tmp/packstack_ /var/tmp/packstack 应用 /root_redis.pp 10.xx.xxx.xx_mongodb.pp:[ERROR] 应用Puppet清单[ERROR] 错误:在Puppet运行期间出现错误:10.xx.xxx.xx_mongodb.pp 错误: