簡體   English   中英

Docker從主機安裝到遠程

[英]Docker mount from host to remote

我運行了一個在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

我去了URL 92.168.99.100並得到502 Bad Gateway

我究竟做錯了什么?

主機是一分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

-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"))'

發現這與/ app的讀寫權限有關。 將SELinux切換到許可模式已解決的問題。

vim /etc/selinux/config

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM