docker compose相关问题

时间:2022-07-23
本文章向大家介绍docker compose相关问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题1

depends_on 和 links有什么不同

解决

depends_on,links都可以指定依赖。 depends_on指定了依赖,将会优先于服务创建并启动依赖,一般用在mysql、redis等。

参考文章


问题2

.yml文件里,怎么配置程序容器连上MySQL,Redis

解决

将三个容器都放入一个bridge网络中,然后直接使用各个容器的name访问即可

参考文章

具体代码

version: '3'
services: 
  livebd:
    image: lived
    environment:
      - NODE_ENV=production
      - EGG_SERVER_ENV=prod
      - DB_HOST=db
      - DB_USER=root
      - DB_DATABASE=zb
      - DB_PORT=3306
      - DB_PASSWORD=root
      - RS_PORT=6379
      - RS_HOST=redis
    depends_on:
      - db
      - redis
    networks:
      - docker_live_zzes
    ports:
      - 7001:7001
  redis:
    image: redis:latest
    ports:
      - 6379:6379
    restart: always
    networks:
      - docker_live_zzes
  db:
    image: mysql:5.6
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=zb
      - MYSQL_USER=root
      - MYSQL_PASSWORD=root
    networks:
      - docker_live_zzes
volumes:
  db_data:
networks:
  docker_live_zzes:
    driver: bridge    

问题3

EggJS怎么Docker部署,排除其他原因,镜像部署会自动退出

解决

docker部署EggJS不需要进程保护,单独在package.json中新建个命令即可

"scripts": {
...
    "docker":"egg-sequelize db:migrate && egg-scripts start",
...
}

参考文章