【问题标题】:docker-compose as a production environment without internetdocker-compose 作为没有互联网的生产环境
【发布时间】:2019-05-01 03:50:42
【问题描述】:

我是 docker 的初学者,我创建了一个 docker-compose 文件,它可以提供我们的生产环境,我想将它用于生产环境的客户端服务器,我也想在本地使用它而无需互联网。 现在,我有 docker 和 docker 的二进制文件,并保存了我想在没有互联网的情况下加载到服务器的图像。这是我在 Linux 上的初始化 bash 脚本:

#!/bin/sh -e

#docker
tar xzvf docker-18.09.0.tgz
sudo cp docker/* /usr/bin/
sudo dockerd &

#docker-compose
cp docker-compose-Linux-x86_64 /ussr/local/bin/docker-compose
chmod +x /ussr/local/bin/docker-compose

#load images
docker load --input images.tar

我的结构:

  • 代码/*
  • nginx/
    • site.conf
    • 日志/
  • phpfpm/
  • postgres/
    • 数据/
    • custom.ini
  • .env
  • docker-compose.yml

docker-compose 文件:

version: '3'

services:
  web:
    image: nginx:1.15.6
    ports:
      - "8080:80"
    volumes:
      - ./code:/code
      - ./nginx/site.conf:/etc/nginx/conf.d/default.conf
      - ./nginx/logs:/var/log/nginx
    restart: always
    depends_on:
      - php
  php:
    build: ./phpfpm
    restart: always
    volumes:
      - ./phpfpm/custom.ini:/opt/bitnami/php/etc/conf.d/custom.ini
      - ./code:/code
  db:
    image: postgres:10.1
    volumes:
      - ./postgres/data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=${DB_NAME}
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASSWORD}
    ports:
      - 5400:5432

有一些问题:

  • 为什么 docker 在 Linux 服务中不存在?但是当我通过 apt-get 安装 docker 时,它会进入 Linux 服务列表。如何将 docker 设置为服务并启用它以在启动时加载?
  • 如何设置Linux服务中的docker-compose在系统启动时运行?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    使用可以从https://download.docker.com/linux/ubuntu/dists/ 下载的包sudo dpkg -i /path/to/package.deb 安装docker。

    然后进行安装后,sudo systemctl enable docker。这将在系统启动时启动 docker,结合 restart: always 您之前的 compose 将自动重新启动。

    【讨论】:

      【解决方案2】:
      1. 我认为 dockerd 正在创建一个守护进程,但你必须启用它。

        $ sudo systemctl 启用泊坞窗

      2. restart: always 添加到您的数据库容器中。 How the docker restart policies work

      【讨论】:

      • 感谢您的回答,但是当我安装 docker form 二进制文件时,没有任何 docker 服务。启动 docker 守护进程的唯一方法是“dockerd”命令。关于数字 2 我想在 linux 启动时启动“docker-compose up”
      猜你喜欢
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 2019-10-14
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多