请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

docker-compose.yml文件中如何指定已经存在的 volume

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


0 回复 有任何疑惑可以回复我~
  • 试试external这个设置  https://docs.docker.com/compose/compose-file/#external
    回复 有任何疑惑可以回复我~ 2019-04-21 17:57:20
  • 提问者 Louis0o #2
    搞定! 谢谢老师!
    回复 有任何疑惑可以回复我~ 2019-04-22 10:52:01
麦兜搞IT 2019-04-21 17:48:00

您这个意思不是要创建新的么

volumes:
  mysql-security:


0 回复 有任何疑惑可以回复我~
  • 提问者 Louis0o #1
    那要如何设置,才能使用已经存在的volume呢,
    回复 有任何疑惑可以回复我~ 2019-04-21 17:50:17
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号