簡體   English   中英

如何正確地泊塢平均堆棧應用程序?

[英]How to properly dockerize a mean stack application?

我正在開發一個平均堆棧應用程序(運行angular 6,而不是angular js)。 我被要求對其進行dockerise,並且由於我不是Docker方面的專家,所以我想知道最佳選擇是什么:-創建單獨的容器,分別用於數據庫,express應用程序和angular應用程序-將整個堆棧部署在單個容器中容器

運行單獨的容器是通過docker-compose進行操作的方法,因此您只需一個命令即可啟動所有必需的容器

簡單教程: https : //codereviewvideos.com/course/docker-tutorial-for-beginners/video/docker-compose-tutorial

讓我建議您為每個應用程序使用一個容器:

  • 1個角形容器
  • 1個用於應用程序的容器
  • 1個用於數據庫的容器。

此外,為每個文件定義一個Dockerfile,您可以定義一個docker-compose.yml ,該文件可以構建和部署所有文件。

最后,在此docker-compose文件中,您可以裝入卷以存儲外部容器的數據庫數據(例如:/ var / lib / mysql用於mysql db),因為當容器退出時,所有容器啟動中的新信息都將丟失。

管理和定義一些用於數據庫參數的ARGS / ENV。

docker-compose.yml示例:

version: '3.6'

services: 
  mysql:
    container_name: your_db_container
    restart: always
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this
      MYSQL_USER: 'test'
      MYSQL_PASS: 'pass'
    volumes:
      - /tmp/your_db_dir:/var/lib/mysql
    ports:
      - "3306:3306"
  your_app:
    build:
      context: ./your_folder_dockerfile
      dockerfile: Dockerfile_app
    ...

  angular_serv:
    image: angular-cli-docker-ootb:latest
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM