我是docker的初学者,我创建了一个docker-compose文件,该文件可以提供我们的生产环境,并且我想将其用于生产环境的客户端服务器,也想在本地使用且没有Internet。 现在,我有docker和docker的二进制文件,它们构成并保存了要加载到没有Internet的服务器上的图像。这是我在Linux上的init 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
我的结构:
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
有一些问题:
答案 0 :(得分:0)
我认为dockerd正在创建守护程序,但是您必须启用它。
$ sudo systemctl启用docker
将restart: always
添加到您的数据库容器中。
How the docker restart policies work
答案 1 :(得分:0)
使用软件包sudo dpkg -i /path/to/package.deb
安装docker,可以从https://download.docker.com/linux/ubuntu/dists/下载。
然后执行安装后的sudo systemctl enable docker
。这将在系统启动时启动docker,结合您先前的restart: always
组合将自动重新启动。