我使用下面的docker-compose.yml
创建了一个Wordpress网站。
我从docker-compose up -d
开始(请注意,MySQL和Wordpress数据保留在本地目录的子目录:./mysql
和./wp
中)。
假设我们重新启动主机服务器。
您将如何重新启动这些容器/此网站?
您要重做docker-compose up -d
吗?
我尝试过,并且确实可以,但是实际上重新创建
新的容器!幸运的是,由于它重用了相同的数据目录,并且与detects that /var/www/html
is non-empty一样,因此不会触发新的Wordpress安装,因此“一切都很好”,但是重新创建新容器并不坏因为该网站已经存在?
在主机服务器重新启动之后,是否有更“优美”的方法来重新启动由docker-compose
制成的容器,而不是“重新创建”容器?
version: '2'
services:
db:
image: mysql:5.7
volumes: ['./mysql:/var/lib/mysql']
restart: always
environment:
MYSQL_ROOT_PASSWORD: abcdef
MYSQL_DATABASE: wordpress
MYSQL_USER: wp
MYSQL_PASSWORD: abcabc
wordpress:
depends_on: ['db']
image: wordpress:latest
volumes: ['./wp:/var/www/html']
ports: ['8000:80']
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wp
WORDPRESS_DB_PASSWORD: abcabc
答案 0 :(得分:1)
有两种方法可以启动由docker-compose创建的容器。
重新启动计算机后:
运行:docker ps -a
以显示所有已停止的容器,您可以手动启动容器,docker start [container_name or container_id]
运行:docker-compose start [service]
。
启动服务的现有容器。
在您的情况下:
docker-compose start db
docker-compose start wordpress
或者只是
docker-compose start
正在启动db ...已完成
启动wordpress ...完成
在重新启动之前,docker-compose stop
。