Docker – compose容器编排工具 – 搭建一个自己的博客

目录

知识点1:什么是 compose?

知识点2:compose的安装

其实在家目录创建了一个目录:/root/.docker/cli-plugins

授予可执行权限

测试compose是否安装成功

知识点3:构建一个在 Docker Compose 上运行的简单 Python Web 应用程序

1、为项目创建一个目录:

2、在项目目录中创建一个名为的文件app.py

3、在您的项目目录中创建另一个名为的文件requirements.txt

4、创建一个Dockerfile

5、 创建一个docker-compose.yml文件定义服务

6、使用compose构建程序

知识点4:使用compose 搭建个人博客网站

1、创建一个空目录

2、创建一个docker-compose.yml用于启动您的 WordPress博客的文件和一个带有卷挂载的单独MySQL实例以实现数据持久性

3、构建项目

4、在浏览器中打开 WordPress

场景:

例如:我们现在需要启动10个容器,其中3个nginx,2个redis,3个mysql,1个zabbix,1个ansible
有些容器需求先启动,有容器需要后启动,在启动的时候是有先后顺序的。

批量启动容器,而且启动的时候容器之间是有依赖关系,需要考虑启动顺序的

编排的内容全部写到一个yaml文件里,docker 的compose根据这个yaml文件里的安排去启动容器。

知识点1:什么是 compose?

compose 是一个容器编排工具:

启动一个容器,进行哪些配置,例如端口,进程,卷,是否链接其他容器等

compose 是Docker容器进行编排的工具,

Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。

Docker – compose容器编排工具 – 搭建一个自己的博客插图

###############################################################################################

知识点2:compose的安装

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

其实在家目录创建了一个目录:/root/.docker/cli-plugins

因为compose源码在github上面,所以下载速度比较慢

授予可执行权限

Docker – compose容器编排工具 – 搭建一个自己的博客插图1

测试compose是否安装成功

[root@docker cli-plugins]# docker compose version Docker Compose version v2.7.0 [root@docker cli-plugins]# pwd /root/.docker/cli-plugins 

知识点3:构建一个在 Docker Compose 上运行的简单 Python Web 应用程序

1、为项目创建一个目录:

[root@docker1 /]# mkdir composetest [root@docker1 /]# cd composetest/ 

2、在项目目录中创建一个名为的文件app.py

import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5) @app.route('/') def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times.\n'.format(count)

3、在您的项目目录中创建另一个名为的文件requirements.txt

flask redis

4、创建一个Dockerfile

编写一个构建 Docker 映像的 Dockerfile。该映像包含 Python 应用程序所需的所有依赖项,包括 Python 本身。

# syntax=docker/dockerfile:1 FROM python:3.7-alpine WORKDIR /code ENV FLASK_APP=app.py ENV FLASK_RUN_HOST=0.0.0.0 RUN apk add --no-cache gcc musl-dev linux-headers COPY requirements.txt requirements.txt RUN pip install -r requirements.txt EXPOSE 5000 COPY . . CMD ["flask", "run"]
  • 从 Python 3.7 映像开始构建映像。
  • 将工作目录设置为/code.
  • 设置命令使用的环境变量flask
  • 安装 gcc 和其他依赖项
  • 复制requirements.txt并安装 Python 依赖项。
  • 向镜像添加元数据以描述容器正在侦听端口 5000
  • 将项目中的当前目录复制.到镜像中的workdir .
  • 将容器的默认命令设置为flask run.

5、 创建一个docker-compose.yml文件定义服务

version: "3.9" services: web: build: . ports: - "8000:5000" redis: image: "redis:alpine"

6、使用compose构建程序

[root@docker1 composetest]# ls app.py docker-compose.yml Dockerfile requirements.txt [root@docker1 composetest]# docker compose up 

知识点4:使用compose 搭建个人博客网站

1、创建一个空目录

[root@docker1 /]# mkdir my_wordpress [root@docker1 /]# cd my_wordpress/ 

2、创建一个docker-compose.yml用于启动您的 WordPress博客的文件和一个带有卷挂载的单独MySQL实例以实现数据持久性

services: db: # We use a mariadb image which supports both amd64 & arm64 architecture image: mariadb:10.6.4-focal # If you really want to use MySQL, uncomment the following line #image: mysql:8.0.27 command: '--default-authentication-plugin=mysql_native_password' volumes: - db_data:/var/lib/mysql restart: always environment: - MYSQL_ROOT_PASSWORD=somewordpress - MYSQL_DATABASE=wordpress - MYSQL_USER=wordpress - MYSQL_PASSWORD=wordpress expose: - 3306 - 33060 wordpress: image: wordpress:latest ports: - 80:80 restart: always environment: - WORDPRESS_DB_HOST=db - WORDPRESS_DB_USER=wordpress - WORDPRESS_DB_PASSWORD=wordpress - WORDPRESS_DB_NAME=wordpress volumes: db_data:

3、构建项目

[root@docker1 my_wordpress]# docker compose up -d [+] Running 2/2 ⠿ Container my_wordpress-wordpress-1 Started 2.6s ⠿ Container my_wordpress-db-1 Started 

– d 表示在后台运行容器服务

docker compose ps 表示列出目前项目中的所有容器

[root@docker1 my_wordpress]# docker compose ps NAME COMMAND SERVICE STATUS PORTS my_wordpress-db-1 "docker-entrypoint.s…" db running 3306/tcp, 33060/tcp my_wordpress-wordpress-1 "docker-entrypoint.s…" wordpress running 0.0.0.0:80->80/tcp, :::80->80/tcp 

4、在浏览器中打开 WordPress

完成所需资料,然后点击安装wordpress

Docker – compose容器编排工具 – 搭建一个自己的博客插图2

Docker – compose容器编排工具 – 搭建一个自己的博客插图3

wordpress后台管理:

Docker – compose容器编排工具 – 搭建一个自己的博客插图4

原文链接:https://blog.csdn.net/qq_48391148/article/details/126690241?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168623078216800184162743%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168623078216800184162743&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-25-126690241-null-null.268%5Ev1%5Ekoosearch&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享