docker-compose как производственная среда без интернета - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в docker и создал файл docker-compose, который может предоставить нашу производственную среду, и я хочу использовать его для наших клиентских серверов для производственной среды, а также хочу использовать его локально и без интернета.Теперь у меня есть двоичные файлы docker и docker, которые создают и сохраняют изображения, которые я хочу загрузить на сервер без интернета.это мой скрипт init bash для Linux:

#!/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
    • logs /
  • phpfpm /
  • postgres /
    • data /
    • custom.ini
  • .env
  • docker-compose.yml

docker-compose file:

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

Есть несколько вопросов:

  • Почему докер не существует в сервисах Linux?но когда я устанавливаю docker с помощью apt-get, он попадает в список служб Linux.Как настроить docker в качестве службы и включить ее для загрузки при запуске?
  • Как настроить docker-compose в службах Linux для запуска при запуске системы?

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Установите докер с пакетом sudo dpkg -i /path/to/package.deb, который можно загрузить с https://download.docker.com/linux/ubuntu/dists/.

Затем выполните постинсталляцию, sudo systemctl enable docker.Это запустит Docker при загрузке системы, в сочетании с restart: always Ваша предыдущая композиция будет автоматически перезапущена.

0 голосов
/ 29 ноября 2018
  1. Я думаю, что dockerd создает демон, но вы должны его включить.

    $ sudo systemctl enable docker

  2. Add restart: always в ваш контейнер БД. Как работают политики перезапуска Docker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...