我在旧电脑上安装了Lubuntu 21.04,一切都是最新的。我安装了Docker和Docker-Compose:
sudo apt install docker docker-compose
sudo systemctl enable --now docker
接下来,在主目录中创建名为web的文件夹,我的项目将存放在其中。文件夹~/web
的结构如下:
.
├── docker-compose.yml
├── dockerfiles
│ ├── lg4
│ ├── test
│ └── test2
└── www
├── lg4
├── test
└── test2
所有服务在 docker-compose.yml
文件中都有 restart
指令:
version: '3.7'
volumes:
mysql-volume:
networks:
app-shared:
driver: bridge
web_app-shared:
external: true
services:
php-httpd-lg4:
restart: always
build:
args:
user: lg4
uid: 1000
context: ./dockerfiles/lg4/
ports:
- 80:80
volumes:
- "./www/lg4:/var/www/html"
links:
- database
networks:
- app-shared
- web_app-shared
php-httpd-test:
restart: always
build:
args:
user: test
uid: 1000
context: ./dockerfiles/test/
ports:
- 82:80
volumes:
- "./www/test:/var/www/html"
links:
- database
networks:
- app-shared
- web_app-shared
php-httpd-test2:
restart: always
build:
args:
user: test
uid: 1000
context: ./dockerfiles/test2/
ports:
- 81:80
volumes:
- "./www/test2:/var/www/html"
links:
- database
networks:
- app-shared
- web_app-shared
database:
restart: always
image: mysql:5.7
restart: always
volumes:
- mysql-volume:/var/lib/mysql
ports:
- 3306:3306
networks:
- app-shared
- web_app-shared
environment:
TZ: "Europe/Moskow"
MYSQL_ALLOW_EMPTY_PASSWORD: "no"
MYSQL_ROOT_PASSWORD: "root"
MYSQL_USER: 'admin'
MYSQL_PASSWORD: 'admin'
MYSQL_DATABASE: 'lg4'
phpmyadmin:
restart: always
image: phpmyadmin/phpmyadmin
links:
- 'database:db'
ports:
- 8081:80
environment:
UPLOAD_LIMIT: 300M
networks:
- app-shared
- web_app-shared
当我在~/web
目录下运行命令sudo docker-compose up -d
时,一切都正常。但是如何在系统启动时自动开始所有这些操作而不需要每次在终端中键入任何命令呢?
docker ps
用于获取所有正在运行的 Docker 容器名称和 ID。 - Rakesh Gadhwal