因此,我一直在使用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中?如果没有,那么这对于虚拟机是不可能的。您需要以某种方式与虚拟机共享主机文件夹,以便容器能够访问它。 –