因此,我一直在使用Docker-compose開發一段時間,現在在我的Ubuntu 14.04 LTS主機上使用本地VirtualBox提供程序(boot2docker)。在Ubuntu上的Docker機器+ Docker Compose +卷
只是最近我決定嘗試docker-machine(因爲與Pycharm的集成),但我遇到了一些問題,例如當我保存一些新代碼時docker容器不會自動更新,我認爲它因爲我在我的docker-compose.yml
網絡服務中註釋了我的卷,但是如果我不會收到manage.py not found
錯誤,所以我在此here中瞭解到我應該對其進行註釋。
我一直在閱讀互聯網上的很多東西,我想知道是否有一個很好的和簡單的方法來讓docker-machine在docker-compose上很好地玩。
DockerFile
FROM ubuntu:14.04.3
ENV PYTHONUNBUFFERED 1
RUN apt-get update && apt-get install -y \
build-essential \
git-core \
python2.7 \
python-pip \
python-dev \
libpq-dev \
postgresql-client-9.3 \
libjpeg-dev \
binutils \
libproj-dev \
gdal-bin
RUN mkdir /vagrant
WORKDIR /vagrant
RUN mkdir requirements
COPY requirements requirements
RUN pip install -r requirements/local.txt
COPY . /vagrant/
泊塢窗,compose.yml
postgis:
image: mdillon/postgis:9.3
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: "postgres"
# volumes:
# - /etc/postgresql
# - /var/log/postgresql
# - /var/lib/postgresql
web:
build: .
dockerfile: Dockerfile
command: python manage.py runserver 0.0.0.0:8000 --settings=xxx.settings.local
# https://stackoverflow.com/a/31567743/977622
# volumes:
# - .:/vagrant
ports:
- "8000:8000"
links:
- "postgis:postgis"
UPDATE:
當我運行我的虛擬機內部的mount
命令我得到:
tmpfs on/type tmpfs (rw,relatime,size=918096k)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,mode=755)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu type cgroup (rw,relatime,cpu)
cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,relatime,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,relatime,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,relatime,net_prio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,relatime,hugetlb)
/dev/sda1 on /mnt/sda1/var/lib/docker/aufs type ext4 (rw,relatime,data=ordered)
none on /mnt/sda1/var/lib/docker/aufs/mnt/137fb1ad9a432a3f4fa47667ecc9991c10149b71f02dfc06a8134fc348532a3d type aufs (rw,relatime,si=462e07a762a4065f,dio,dirperm1)
shm on /mnt/sda1/var/lib/docker/containers/137fb1ad9a432a3f4fa47667ecc9991c10149b71f02dfc06a8134fc348532a3d/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
mqueue on /mnt/sda1/var/lib/docker/containers/137fb1ad9a432a3f4fa47667ecc9991c10149b71f02dfc06a8134fc348532a3d/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
nsfs on /var/run/docker/netns/2e4dbeed7a66 type nsfs (rw)
我SH ARED文件夾說,在該文件夾路徑是/home
就像鏈接的問題所解釋的,主機卷掛載相對於運行Docker的_host_。如果您的Docker計算機在外部運行在提供程序中,那麼該卷不會是來自本地計算機的數據。 Docker機器在哪裏運行? –
我正在VirtualBox @AndyShinn運行Docker機器 – psychok7
您能否登錄到VM('docker-machine ssh')並獲取掛載('mount')並查看是否有任何來自主機的掛載在VM中?如果沒有,那麼這對於虛擬機是不可能的。您需要以某種方式與虛擬機共享主機文件夾,以便容器能夠訪問它。 –