我正在關注testdriven.io上的燒瓶/碼頭指南。在第三部分Docker Config的第一部分中我正在按照說明將項目目錄作爲卷裝入Docker容器中進行開發。不幸的是,按照教程中的說明不能使用docker-compose正確安裝卷。相反,容器內的目錄是空的。碼頭 - 撰寫量不正確
以下是針對相關容器的Dockerfile。
FROM python:3.6.1
# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# add requirements (to leverage Docker cache)
ADD ./requirements.txt /usr/src/app/requirements.txt
# install requirements
RUN pip install -r requirements.txt
# add app
ADD . /usr/src/app
# run server
CMD python manage.py runserver -h 0.0.0.0
這是泊塢窗,compose.yml文件
version: '2.1'
services:
users-service:
container_name: users-service
build: .
volumes:
- '.:/usr/src/app'
ports:
- 5001:5000 # expose ports - HOST:CONTAINER
有問題的目錄是/ usr/src目錄/應用的用戶服務容器內的目錄。當我這樣做:
>> docker-compose build
>> docker-compose up -d
>> docker-compose run users-service bash
當我ls
容器我在正確的目錄(/ usr/src目錄/應用程序)內,但該目錄是空的。這也會導致CMD失敗,因爲它找不到位於項目目錄根目錄下的manage.py文件。
我已經看到其他帖子在堆棧溢出與類似的標題,不幸的是沒有解決方案已經能夠解決我的問題。我試圖改變本地音量路徑從相對到絕對的結果沒有任何不同。感謝您提前幫助任何能夠幫助他人的人。
編輯:
已經運行docker inspect
在容器上,下面是Mounts
和Config
下找到的信息 - Volume
:
"Mounts": [
{
"Type": "bind",
"Source": "/home/jonathan/projects/flask-microservices-users",
"Destination": "/usr/src/app",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
...
"Config": {
...
"Image": "flaskmicroservicesusers_users-service",
"Volumes": {
"/usr/src/app": {}
},
"WorkingDir": "/usr/src/app",
...
什麼在目錄中你安裝? '.'它不是空的嗎? – user3012759
我正在安裝的目錄是該項目的根目錄。 'me @ ubuntu:〜/ project $ ls Dockerfile manage.py README.md docker-compose.yml 項目需求。txt' – Jonnyishman
您可以對您的用戶服務容器進行碼頭檢查並檢查它有哪些容量? – user3012759