Docker从主机安装到远程

时间:2016-07-28 20:58:59

标签: docker dockerfile

我使用docker run -d -p 80:80 p0bailey/docker-flask运行了在Docker上运行的Flask样板应用程序 它工作正常(192.168.99.100显示一个页面)。接下来,我从github克隆了相同的应用程序,并尝试使用以下命令从主机目录挂载到容器中:

docker run -d -p 80:80 -v /Users/username/docker-flask/app:/var/www/app p0bailey/docker-flask

我去了网址92.168.99.100并获得502 Bad Gateway

我做错了什么?

Host is a cent os 7

$ docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                NAMES
721e7cfac4de        p0bailey/docker-flask   "/usr/bin/supervisord"   10 seconds ago      Up 8 seconds        0.0.0.0:80->80/tcp   stoic_newton

这是日志

$ docker logs 721e7cfac4de
/usr/lib/python2.7/dist-packages/supervisor/options.py:295: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  'Supervisord is running as root and it is searching '
2016-07-28 21:14:32,788 CRIT Supervisor running as root (no user in config file)
2016-07-28 21:14:32,788 WARN Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2016-07-28 21:14:32,808 INFO RPC interface 'supervisor' initialized
2016-07-28 21:14:32,808 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2016-07-28 21:14:32,808 INFO supervisord started with pid 1
2016-07-28 21:14:33,812 INFO spawned: 'nginx' with pid 10
2016-07-28 21:14:33,813 INFO spawned: 'uwsgi' with pid 11
2016-07-28 21:14:33,869 INFO exited: uwsgi (exit status 1; not expected)
2016-07-28 21:14:34,908 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-28 21:14:34,909 INFO spawned: 'uwsgi' with pid 16
2016-07-28 21:14:34,915 INFO exited: uwsgi (exit status 1; not expected)
2016-07-28 21:14:36,920 INFO spawned: 'uwsgi' with pid 17
2016-07-28 21:14:36,926 INFO exited: uwsgi (exit status 1; not expected)
2016-07-28 21:14:39,934 INFO spawned: 'uwsgi' with pid 18
2016-07-28 21:14:39,942 INFO exited: uwsgi (exit status 1; not expected)
2016-07-28 21:14:40,943 INFO gave up: uwsgi entered FATAL state, too many start retries too quickly

2 个答案:

答案 0 :(得分:0)

-v /Users/username/docker-flask/app:/var/www/app使用/Users/username/docker-flask/app

的内容覆盖容器的内容

如果要挂载/var/www/app而不丢失原始容器文件,请使用

docker run -d -p 80:80 -v /var/www/app p0bailey/docker-flask

然后使用

在主机文件系统中找到卷的随机位置
docker inspect -f "{{json .Mounts}}" development-phase \
 | jq '.[] | select(.Destination | contains("/var/www/app"))'

答案 1 :(得分:0)

发现这与/ app的读写权限有关。 将SELinux切换到许可模式已修复问题。

vim /etc/selinux/config

#look for line SELINUX and set to permissive
SELINUX=permissive