Backend - docker-compose.yml

目录

一、结构

(一)version

1. 作用

2. 写法

(二)services

1. 作用

(三)build

1. 作用

2. 写法

(1)第一种:详细写法

(2)第二种:简单写法

(四)depends_on

1. 作用

2. 写法

(五)restart

1. 作用

2. 写法

(六)volumes 

1. 作用

2. 写法

二、完整示例


一、结构

(一)version

1. 作用

        指定Docker Compose 文件的版本。

2. 写法

version: '3.8'

(二)services

1. 作用

        services里有web、app、db等不同服务配置。后面有细讲。

(三)build

1. 作用

        配置 dockerfile 信息。

2. 写法

(1)第一种:详细写法
build:
    context: ./app  # 指向dockerfile和上下文存放的位置
    dockerfile: Dockerfile  # 是dockerfile文件名
(2)第二种:简单写法
build: .  # 当dockerfile和上下文都在当前目录,则直接指定当前目录构建上下文。

        注意:其中,上下文指一个目录(或目录的集合),它包含了Dockerfile以及构建镜像所需的所有文件和目录。

(四)depends_on

1. 作用

        配置服务顺序。

2. 写法

web:
    .  .  .
    depends_on:
    - db  # 表示先执行db,再web

(五)restart

1. 作用

        配置重启。

2. 写法

restart: always

(六)volumes 

1. 作用

        将宿主机当前目录挂载到容器中。

        其中,宿主机上的文件和目录会在容器中可见;并且容器目录的所有更改也都会保存在宿主机上。

2. 写法

volumes:
      - .:/app # 冒号前的. 表示宿主机当前所在目录,冒号后的/app表示容器目录

二、完整示例

version: '3'
services:     
    bookweb:  # 自定义容器启动时的app名(例如:生成镜像时自定义镜像名是bookly,则最终生成的image镜像名是bookly_bookweb)

    build: .  # 当dockerfile和上下文都在当前目录,则直接指定当前目录构建上下文。上下文是一个目录(或目录的集合),它包含了 Dockerfile 以及构建镜像所需的所有文件和目录。

    restart: always

    command: python manage.py runserver 0.0.0.0:8006  # 自定义项目启动的执行文件是manage.py

    ports:

      - "8006:8006"

    volumes:  # 宿主机上的文件和目录会在容器中可见,并且容器对 /test_dir/mybook 目录的所有更改都会保存在宿主机上。

      - .:/test_dir/mybook  # 将宿主机当前目录挂载到容器中(.指的是宿主机的当前目录,/test_dir/mybook指的是容器目录) 

好的,我会根据你的要求进行回答。首先,你的问题是关于Docker-compose部署WordPress的,需要完成以下任务: 1. 安装docker-compose 对于不同的操作系统,docker-compose的安装方式有所不同。如果你使用的是Linux系统,可以使用以下命令安装docker-compose: ``` sudo apt-get install docker-compose ``` 如果你使用的是MacOS或Windows系统,则可以在Docker官网上下载Docker Desktop,并在安装过程中选择安装docker-compose。 2. 创建项目mysql,创建docker-compose.yml文件 首先,我们需要创建一个目录,用来存放mysql的数据和配置文件。在该目录下,创建一个名为docker-compose.yml的文件,文件内容如下: ``` version: '3' services: db: image: mysql:5.7 restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: wordpress volumes: - db_data:/var/lib/mysql networks: - backend volumes: db_data: networks: backend: ``` 该文件定义了一个名为db的服务,使用mysql:5.7镜像,并设置了MySQL的root密码和数据库名为wordpress。同时,该服务使用volumes来挂载数据卷,以便持久化存储MySQL的数据。 3. 创建项目wordpress,创建docker-compose.yml文件 与上一步类似,我们同样需要在一个目录下创建一个名为docker-compose.yml的文件,文件内容如下: ``` version: '3' services: wordpress: depends_on: - db image: wordpress:latest restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: example WORDPRESS_DB_NAME: wordpress volumes: - ./wp-content:/var/www/html/wp-content ports: - "8000:80" networks: - frontend - backend networks: frontend: backend: ``` 该文件定义了一个名为wordpress的服务,使用wordpress:latest镜像,并设置了WordPress连接到MySQL的相关配置。同时,该服务也使用了volumes来挂载数据卷,以便持久化存储WordPress的数据。此外,该服务也映射了主机的8000端口到容器的80端口,以便访问WordPress。 4. 启动mysql和wordpress,打通网络,使wordpress能够访问mysql 在上一步中,我们已经定义了两个服务,分别是mysql和wordpress。现在,我们可以使用以下命令来启动这两个服务: ``` docker-compose up -d ``` 该命令会在后台启动两个服务,并将它们连接到同一个网络中。由于WordPress服务依赖于MySQL服务,因此在启动WordPress服务之前,需要先启动MySQL服务。 5. 网页安装配置博客系统,显示博客主页 现在,我们已经完成了WordPress的部署,可以在浏览器中访问 http://localhost:8000 来安装和配置WordPress。在安装过程中,需要设置一些基本信息,例如网站标题、用户名和密码等。安装完成后,就可以访问WordPress的博客主页了。 希望这些步骤对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值