Dockerfile:
FROM python:2.7
# part 1
# LABAL
# ENV
COPY . /var/www/demo275
WORKDIR /var/www/demo275
# part 2 install dependency of httpd and python
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 8000
ENTRYPOINT ["python", "manage.py", "runserver", "0.0.0.0:8000"]
docker-compose.yml:
version: '3'
services:
app:
build: .
ports:
- 80:8000
depends_on:
- mysql-security
environment:
MYSQL_SECURITY_ENV_HOST: mysql-security
MYSQL_SECURITY_ENV_MYSQL_DATABASE: demo
MYSQL_SECURITY_PORT_3306_TCP_PORT: 3306
MYSQL_SECURITY_ENV_MYSQL_ROOT_PASSWORD: root
networks:
- my-bridge
mysql-security:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: demo
volumes:
- mysql-security:/var/lib/mysql
networks:
- my-bridge
volumes:
mysql-security:
networks:
my-bridge:
driver: bridge
我本地有一个mysql-security的volume.
wuhaodeMacBook-Pro:demo275 wuhao$ docker volume ls
DRIVER VOLUME NAME
local mysql-security
我想在docker-compose.yml文件中指定我本地已经有的volume(mysql-security).所以写成
volumes:
- mysql-security:/var/lib/mysql
docker-compose up -d后,查看volume:
wuhaodeMacBook-Pro:demo275 wuhao$ docker-compose up -d
Creating network "demo275_my-bridge" with driver "bridge"
Creating volume "demo275_mysql-security" with default driver
Creating demo275_mysql-security_1 ... done
Creating demo275_app_1 ... done
wuhaodeMacBook-Pro:demo275 wuhao$ docker volume ls
DRIVER VOLUME NAME
local demo275_mysql-security
local mysql-security
生成了新的volume( demo275_mysql-security).
就是说没有使用我本地已经存在的mysql-security。
求教,我应该怎样去设置?