为什么入口点在docker-compose.yml中设置为“bin / true”
这是docker-compose.yml
中的docker docker-compose.yml
文件。 任何人都可以解释为什么entrypoint
点设置为/bin/true
的Web数据和数据库? 这是必要的吗? 如果我删除它会发生什么? 非常感谢。
版本:'2' 服务: 网站: 重新启动:总是 build立:。 container_name:meanjs 端口: - “3000:3000” - “5858:5858” - “8080:8080” - “35729:35729” 环境: - NODE_ENV =发展 - DB_1_PORT_27017_TCP_ADDR = db 依赖于取决于: - D b volumes_from: - networking数据 networking数据: build立:。 入口点:/ bin / true 卷: - ./:/opt/mean.js - /opt/mean.js/node_modules - /opt/mean.js/public - /opt/mean.js/uploads D b: 图片:mongo:3.2 重新启动:总是 端口: - “27017:27017” volumes_from: - db-data DB-数据: 图片:mongo:3.2 卷: - / data / db - / var / lib / mongodb - / var / log / mongodb 入口点:/ bin / true
这是Docker-compose的老版本。 这样做的原因是启动一个容器,创build容量然后退出。
所以下面开始一个容器,并存在
db-data: image: mongo:3.2 volumes: - /data/db - /var/lib/mongodb - /var/log/mongodb entrypoint: /bin/true
在容器内部,这些卷path被创build。
- /data/db - /var/lib/mongodb - /var/log/mongodb
然后mongo使用volumes_from
在这个容器中存储数据
db: image: mongo:3.2 restart: always ports: - "27017:27017" volumes_from: - db-data
在Compose 3.X中不build议使用volumes_from
,不应使用它。 而是要么使用匿名卷名。
所以撰写会改变成下面的东西
匿名卷
version: '3.3' .... db: image: mongo:3.2 restart: always ports: - "27017:27017" volumes: - /data/db - /var/lib/mongodb - /var/log/mongodb
命名的卷
version: '3.3' .... db: image: mongo:3.2 restart: always ports: - "27017:27017" volumes: - mongodata:/data/db - mongodata:/var/lib/mongodb - mongodata:/var/log/mongodb volumes: mongodata: {}