我手动设置容器以创建正确的Docker文件。
我从bitnami / ruby开始:最新的一个容器,语法如下:
sudo docker run -p 4567:4567 --name vcaexplorer bitnami/ruby bash
容器被正确实例化:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1ac394d247a4 bitnami/ruby "/entrypoint.sh bash" 37 minutes ago Up 37 minutes 3000/tcp, 0.0.0.0:4567->4567/tcp vcaexplorer
我正在使用以下语法下载folliwoing repo:
git clone https://github.com/mreferre/vcautils.git /app/vcautils
然后我在/ app / vcautils / lib目录中启动Sinatra应用程序。
看起来像这样:
bitnami@1ac394d247a4:/app/vcautils/lib$ ruby vcaexplorer.rb
vcaexplorer.rb:36: warning: already initialized constant OpenSSL::SSL::VERIFY_PEER
vcaexplorer.rb:39: warning: class variable access from toplevel
vcaexplorer.rb:40: warning: class variable access from toplevel
vcaexplorer.rb:41: warning: class variable access from toplevel
[2015-09-24 21:42:48] INFO WEBrick 1.3.1
[2015-09-24 21:42:48] INFO ruby 2.2.3 (2015-08-18) [x86_64-linux]
== Sinatra (v1.4.6) has taken the stage on 4567 for development with backup from WEBrick
[2015-09-24 21:42:48] INFO WEBrick::HTTPServer#start: pid=255 port=4567
当我尝试连接到dockerhost:4567
时,它给了我一个黑眼圈。它说那里什么都没有。
我尝试在容器中安装net-utils,然后在后台启动了Sinatra应用程序(使用&
)。它似乎是从后台开始,但是当我运行netstat时,没有列出任何内容(但是过程就在那里)。
docker主机状态良好,因为如果我尝试其他容器,所有内部NAT工作正常,我可以从外部访问容器。
即使是应用程序也处于良好的状态,好像我在笔记本电脑上本地启动它,使用相同的命令,它给了我相同的"输出"我可以连接到localhost:4567
它必须是我实例化容器的方式(使用bash?)
思考?
感谢。马西莫。