Docker实战-使用docker compose搭建博客

docker run 部署

 创建blog网络

[root@k8s-master ~]# docker network create blog
8f533a5a1ec65eae3f98c0ae5a76014a3ab1bf3c087ad952cdc100cc7a658948
[root@k8s-master ~]#  docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
8f533a5a1ec6   blog      bridge    local
6c444ff0e0fc   bridge    bridge    local
7172dc5dc9d3   host      host      local
5451367be09b   none      null      local

 创建MySQL容器

[root@k8s-master ~]# docker run -d -p 3306:3306 \
> -e MYSQL_ROOT_PASSWORD=123456 \
> -e MYSQL_DATABASE=wordpress \
> -v mysql-data:/var/lib/mysql \
> --restart always --name mysql \
> --network blog \
> mysql:8.0
Unable to find image 'mysql:8.0' locally
8.0: Pulling from library/mysql
43759093d4f6: Pull complete 
126d8d3809b3: Pull complete 
157a7408a55d: Pull complete 
c405af89949f: Pull complete 
c92147eb3382: Pull complete 
b3ec9882b976: Pull complete 
ad072341f26b: Pull complete 
bda7c2eca56f: Pull complete 
b6b5c46ac97d: Pull complete 
8cd34fa224e6: Pull complete 
b4144aa75def: Pull complete 
Digest: sha256:50b5ee0656a2caea76506fe702b1baddabe204cf3ab34c03752d2d7cd8ad83fc
Status: Downloaded newer image for mysql:8.0
1f0d309d07db2e0bed62868a43bcff0fcb811d0507317efbffa3d6d77bf9f53b

 创建wordpress容器

[root@k8s-master ~]# docker run -d -p 8080:80 \
>     -e WORDPRESS_DB_HOST=mysql \
>     -e WORDPRESS_DB_USER=root \
>     -e WORDPRESS_DB_PASSWORD=123456 \
>     -e WORDPRESS_DB_NAME=wordpress \
>     -v wordpress:/var/www/html \
>     --restart always --name wordpress-app \
>     --network blog \
>     wordpress:latest
Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
c29f5b76f736: Pull complete 
814b6ecb84b0: Pull complete 
a4e58aa84c36: Pull complete 
b545bb7ff18e: Pull complete 
8ca47539e139: Pull complete 
ea823f46cc3c: Pull complete 
bcbecb454049: Pull complete 
68d70c2b9fc9: Pull complete 
b9903ecbcf0b: Pull complete 
f473bcbd0e44: Pull complete 
d8b79b64a9d5: Pull complete 
5c36aa47b3f5: Pull complete 
c6834909cd19: Pull complete 
4f4fb700ef54: Pull complete 
beeeb2e72514: Pull complete 
b7fd27be5b20: Pull complete 
1475f50d3e62: Pull complete 
5ac3fe5e5e7e: Pull complete 
e2a530cb2e77: Pull complete 
ed50d9a76bab: Pull complete 
08dc3bd6914b: Pull complete 
63eaf96fd2ee: Pull complete 
Digest: sha256:0211348df9f5e29a32cb6a65ec5aff2c2e775670fdb054ab98f7833eb539234a
Status: Downloaded newer image for wordpress:latest
3435c46b6bb674a92881e7644ce5ebb94b1b11ad36d815467628bca594e2b28e

查看运行的容器

[root@k8s-master ~]# docker ps
CONTAINER ID   IMAGE                                                             COMMAND                  CREATED          STATUS          PORTS                               NAMES
3435c46b6bb6   wordpress:latest                                                  "docker-entrypoint.s…"   26 minutes ago   Up 26 minutes   0.0.0.0:8080->80/tcp                wordpress-app
1f0d309d07db   mysql:8.0                                                         "docker-entrypoint.s…"   34 minutes ago   Up 33 minutes   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

docker-compose部署

docker-compose安装

sudo yum install -y python3 python3-pip
sudo pip3 install virtualenv
virtualenv venv
source venv/bin/activate
pip install docker-compose
[root@k8s-master ~]# cat docker_compose.yaml 
version: '3.8'  
services:
  mysql:
    image: mysql:8.0
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=wordpress
    volumes:
      - mysql-data:/var/data/mysql  
      - /app/myconf:/etc/mysql/conf.d
    restart: always
    networks:
      - blog

  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: 123456
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress:/var/www/html
    restart: always
    networks:  
      - blog
    depends_on:
      - mysql

volumes:
  mysql-data:
  wordpress:

networks:
  blog:
           
[root@k8s-master ~]# docker compose -f docker_compose.yaml up -d 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/975046.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

javaEE-SpringBoot日志

一.日志的用途 平时我们使用日志,就是通过控制台打印一些信息,或者程序运行保存,查看控制台报错原因. 随着项⽬的复杂度提升, 我们对⽇志的打印也有了更⾼的需求, ⽽不仅仅是定位排查问题. ⽐如需要记录⼀些⽤⼾的操作记录(⼀些审计公司会要求), 也可能需要使⽤⽇志来记录⽤…

DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?

一、引言 在当今科技飞速发展的时代,人工智能(AI)已然成为推动各领域变革的核心力量。而在人工智能的众多分支中,自然语言处理(NLP)因其与人类日常交流和信息处理的紧密联系,成为了最受瞩目的领…

LangChain-基础(prompts、序列化、流式输出、自定义输出)

LangChain-基础 我们现在使用的大模型训练数据都是基于历史数据训练出来的,它们都无法处理一些实时性的问题或者一些在训练时为训练到的一些问题,解决这个问题有2种解决方案 基于现有的大模型上进行微调,使得它能适应这些问题(本…

数据库面试知识点总结

目录 1. MySQL 基础题1.1 执行⼀条 select / update 语句,在 MySQL 中发生了什么?1.2 MySQL 一行记录是怎么存储的? 2. 三大范式3. 数据库引擎3.1 Innodb3.2 MyISAM 4. 数据库索引4.1 索引分类4.2 索引优缺点4.3 索引使用场景4.4 优化索引方法…

Spring事务原理 二

在上一篇博文《Spring事务原理 一》中,我们熟悉了Spring声明式事务的AOP原理,以及事务执行的大体流程。 本文中,介绍了Spring事务的核心组件、传播行为的源码实现。下一篇中,我们将结合案例,来讲解实战中有关事务的易…

使用 C++ 和 gRPC 的常见陷阱及解决方案

文章目录 1. 环境配置的陷阱1.1 依赖版本冲突或混淆1.2 gRPC 工具缺失 2. 编译和链接的陷阱2.1 运行时库不匹配(/MT vs /MD)2.2 未解析的外部符号 3. Protobuf 文件生成的陷阱3.1 工具版本不匹配3.2 生成文件运行时库不一致 4. 运行时的陷阱4.1 缺少 DLL…

《深度学习实战》第2集:卷积神经网络(CNN)与图像分类

《深度学习实战》第2集:卷积神经网络(CNN)与图像分类 引言 卷积神经网络(Convolutional Neural Network, CNN)是深度学习在计算机视觉领域的核心工具。从早期的 LeNet 到现代的 ResNet 和 Vision Transformer&#xf…

创建Linux虚拟环境并远程连接

目录 下载VMware软件 下载CentOS 创建虚拟环境 远程连接Linux系统 下载VMware软件 不会的可以参考 传送门 下载CentOS 不会的可以参考 传送门 创建虚拟环境 打开VMware软件,创建虚拟机 选择典型安装 找到我们安装好的centOS文件,之后会自动检…

RV1126解码(5) read_vdec_thread线程

read_vdec_thread线程的用处 read_vdec_thread线程主要是获取每一帧VDEC解码数据,并打印出来每一帧数据的具体信息。 代码: //用于从 VDEC 解码器获取每一帧解码后的图像数据 void *read_vdec_thread(void *args) {pthread_detach(pthread_self());MED…

verilog笔记

Verilog学习笔记(一)入门和基础语法BY电棍233 由于某些不可抗拒的因素和各种的特殊原因,主要是因为我是微电子专业的,我需要去学习一门名为verilog的硬件解释语言,由于我是在某西部地区的神秘大学上学,这所…

Three.js 快速入门教程【六】相机控件 OrbitControls

系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…

抗辐照加固CAN FD芯片的商业航天与车规级应用解析

在工业自动化、智能汽车、航空航天及国防装备等关键领域,数据传输的安全性、可靠性与极端环境适应能力是技术升级的核心挑战。国科安芯推出全新一代CANFD(Controller Area Network Flexible Data Rate)芯片,以高安全、高可靠、断电…

经验分享—WEB渗透测试中遇到加密内容的数据包该如何测试!

经验分享—WEB渗透测试中遇到加密内容的数据包该如何测试! 01 加解密的意义 现阶段的渗透测试让我发现越来越多的系统不只是在漏洞修补方面做了功夫,还对一些参数进行加密,干扰爬虫或者渗透测试的进行。 在我小白阶段看到下图这种加密方式…

在群晖上使用Docker安装思源笔记

​​ 最近一段时间,docker的镜像地址都失效了,在群晖系统中,无论是早期版本的docker,还是最新版本中的Container Manager,注册表中都无法链接到docker的镜像,于是,就花了点时间查找资料&#x…

网络安全营运周报

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 第三章网络安全基础 一、网络安全概述 1、网络安全现状及安全挑战 网络安全范畴极其广泛,可以说是涉及多方面。 因为计算机病毒层出不穷以及黑客的…

Linux 进程通信——管道

目录 一、什么是进程通信 二、为什么要进行进程通信 三、如何进行通信 四、管道 1、什么是管道 2、管道的原理 3、接口 4、编码实现 5、管道的特征 6、管道的4种情况 一、什么是进程通信 进程通信是两个或多个进程实现数据层面的交互。 因为进程具有独立性&#xff0…

Linux中DataX使用第四期

简介 紧接着上期关于定义如何一个简单的插件,本期了解下关系型数据库的数据读取和数据写入。 环境 Windows10 (linux中命令相似,为了方面调试就用windows的)JDK(1.8以上,推荐1.8)Python(2或3都可以)Apache Maven (推荐3.x版本)IntelliJ IDEA…

Java计算机毕业设计基于SSM宠物美容信息管理系统数据库源代码+LW文档+开题报告+答辩稿+部署教程+代码讲解

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

核货宝助力连锁门店订货数字化转型升级

在竞争激烈的连锁零售行业,传统订货模式弊端日益凸显,严重制约着企业的发展。核货宝订货系统以其卓越的数字化解决方案,为连锁门店订货带来了全方位的变革,助力企业实现数字化转型升级,在市场中抢占先机。 一、增强总部…

论文解读 | AAAI'25 Cobra:多模态扩展的大型语言模型,以实现高效推理

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 点击 阅读原文 观看作者讲解回放! 个人信息 作者:赵晗,浙江大学-西湖大学联合培养博士生 内容简介 近年来,在各个领域应用多模态大语言模型(MLLMs&…