前提・実現したいこと
Vagrant上にDockerを用いて、flask+uwsgiのコンテナを立てようとしています。
Dockerfileとdocker-compose.ymlを準備し、コンテナを作成・起動しようとすると、
以下のエラーが出て、コンテナを起動できません。
もし、解決方法についてご存知の方がいらっしゃいましたら、
ご教示いただきたく存じます。
どうぞよろしくお願いいたします。
発生している問題・エラーメッセージ
docker-compose build 実行後、
docker-compose upを実行すると以下のエラーが発生
vagrant@localhost curator]$ docker-compose build Building uwsgi Step 1/7 : FROM python:3.6 ---> 1ec4d11819ad Step 2/7 : RUN mkdir /var/www ---> Using cache ---> a09bedf8e565 Step 3/7 : WORKDIR /var/www ---> Using cache ---> 40c47e46c2c4 Step 4/7 : COPY requirements.txt ./ ---> Using cache ---> be608d068bb9 Step 5/7 : RUN pip install --no-cache-dir -r requirements.txt ---> Using cache ---> ddd9e5f77b4f Step 6/7 : WORKDIR /var/www/src ---> Using cache ---> ffc60f57d9e1 Step 7/7 : CMD uwsgi --ini /var/www/uwsgi.ini ---> Using cache ---> 8e2776fc89c6 Successfully built 8e2776fc89c6 [vagrant@localhost curator]$ docker-compose up Starting curator_uwsgi_1 ... done Attaching to curator_uwsgi_1 uwsgi_1 | realpath() of /var/www/uwsgi.ini failed: Permission denied [core/utils.c line 3651] curator_uwsgi_1 exited with code 1
該当のソースコード
ローカルマシン(Mac)のディレクトリの構成
※ flaskapp-master
※ | ・docker-composer.yml
※ |
※ └app
※ | ・Dockerfile
※ | ・requirement.txt
※ | ・uwsgi.ini
※ |
※ └src
※ ・run.py
# docker-compose.yml version: "2" services: uwsgi: build: ./app volumes: - ./app:/var/www/ ports: - "3031:3031" environment: TZ: "Asia/Tokyo"
# Dockerfile # ベースイメージ FROM python:3.6 RUN mkdir /var/www # workdirの指定 WORKDIR /var/www # 依存Pythonライブラリ一覧コピー COPY requirements.txt ./ # 依存Pythonライブラリインストール RUN pip install --no-cache-dir -r requirements.txt WORKDIR /var/www/src CMD ["uwsgi","--ini","/var/www/uwsgi.ini"]
# requirement.txt Flask uwsgi
Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.network "private_network", ip: "192.168.33.10" config.vm.synced_folder "./flaskapp-master", "/flask-master", owner: "vagrant", group: "vagrant", mount_options: ['dmode=777','fmode=777'] config.vm.provider "virtualbox" do |vb| vb.memory = "1024" end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。