docker-compose.yml文件中如何指定已经存在的 volume
来源:6-3 Docker Compose的安装和基本使用

Louis0o
2019-04-21
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。
求教,我应该怎样去设置?
写回答
2回答
-
version: "3.7"services: db: image: postgres volumes: - data:/var/lib/postgresql/datavolumes: data: external: true
022019-04-22 -
麦兜搞IT
2019-04-21
您这个意思不是要创建新的么
volumes: mysql-security:
012019-04-21
相似问题