继开 | 博客

热爱生活,努力学习,实现自己的价值


  • 短诗的序

  • 迷途自渡

  • 寒星三两

  • 林深见鹿

  • 记昨日书

  • 顾探往昔

Linux Ubuntu挂载磁盘

发表于 2024-05-01
字数统计: 462 字 | 阅读时长 ≈ 2 min

开始

虚拟机在添加完磁盘后经常需要将磁盘作为数据盘挂载到/data,分享挂载步骤。

1、 查看添加的磁盘磁盘,sdb磁盘

fdisk -l

2、首先创建/data目录

mkdir /data

3、格式化分区为XFS

mkfs.xfs -f /dev/sdb

4、挂载格式化好的XFS分区,挂载到/data

mount -t xfs /dev/sdb /data

5、验证XFS分区是否挂载成功;文件系统格式为XFS

df -hT

6、想让系统启动时自动挂载XFS分区在/data上,加入下面一行到/etc/fstab文件中

/dev/sdb /data xfs defaults 0 0

问题解决

ubuntu 离线安装 mkfs.xfs
要在Ubuntu上离线安装mkfs.xfs,你需要先从另一台有网络连接的机器上下载xfsprogs包,然后将其传输到你的离线Ubuntu机器上进行安装。
步骤如下:
1. 在有网络的机器上,下载xfsprogs包。
2. 将下载的包传输到离线的Ubuntu机器上。
3. 在离线机器上安装xfsprogs。

以下是具体的命令:
在有网络的机器上:

下载xfsprogs包

1
apt-get download xfsprogs

将下载的.deb文件复制到USB驱动器或其他可移动介质上。
在离线的Ubuntu机器上:
将xfsprogs包从USB设备复制到本地目录
复制到了~/xfsprogs_package目录下
安装xfsprogs包

1
sudo dpkg -i ~/xfsprogs_package/xfsprogs_*.deb

如果在安装时遇到依赖问题,可以使用

1
apt-get -f install

命令来修复依赖问题。
请确保替换

1
~/xfsprogs_package/xfsprogs_*.deb

为你实际下载的文件路径。

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-compose快速搭建开源仿Windows 11的私有云盘腾飞webos

发表于 2024-01-02
字数统计: 556 字 | 阅读时长 ≈ 2 min

腾飞webos是什么

腾飞webos是一款免费的个人私有云盘/企业网盘,提供仿Windows 11的效果和体验,支持跨平台浏览器访问,支持云盘挂载,文件编辑预览,协同办公等功能。腾飞webos是基于Linux和WebKit的开源软件平台,支持多种存储方式,如阿里云盘,天翼云盘,百度云盘等。腾飞webos还提供了独立的应用商店,可以下载各种应用插件,或者自行开发插件。

官方网站: https://os.tenfell.cn/
官方Gitee: https://gitee.com/tfyun/webos
官方github: https://github.com/fs185085781/webos
官方体验:https://tfyun.gitee.io/
官方体验:https://yunpan.tenfell.cn/

腾飞webos搭建

webos-compose.yml 文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# docker run -d  --restart unless-stopped --name webos -p 3088:8088 -v $(pwd)/data:/webosMnt -v $(pwd)/root:/webos/api/rootPath -v $(pwd)/apps:/webos/web/apps fs185085781/webos:latest
# 1.新建文件夹 webos 和 子目录
# mkdir -p /data/webos/{data,root,apps}
# 2.进入 webos 目录
# cd /data/webos
# 3.将 webos-compose.yml 放入当前目录
# 4.启动
# docker-compose -f webos-compose.yml up -d

version: '3'

services:
webos:
image: fs185085781/webos:latest
container_name: webos
restart: unless-stopped
ports:
- 3088:8088
volumes:
- ./data:/webosMnt
- ./root:/webos/api/rootPath
- ./apps:/webos/web/apps

按照webos-compose.yml 内的步骤逐步执行

腾飞webos使用

浏览器访问:http://ip:3088/

创建账号进行登录,然后,可进行使用,详细使用教程请参照官网

腾飞webos有什么局限性?

由于是仿Windows 11的效果,可能会有一些兼容性或稳定性的问题,需要不断优化和更新。
由于是基于浏览器的访问,可能会受到网络环境或浏览器版本的影响,需要保证网络畅通和浏览器更新。
由于是免费开源的,可能会有一些安全或版权的风险,需要自行保护数据和遵守法律。

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-Compose配置两个容器依赖启动(depends_on和healthcheck)

发表于 2024-01-01
字数统计: 2,168 字 | 阅读时长 ≈ 10 min

一、参数解释说明

1.1 depends_on

depends_on 是 Docker-Compose 文件中的一个关键字,用于指定服务之间的依赖关系。
具体来说,它定义了一个服务所依赖的其他服务,只有在所依赖的服务已经启动并且处于运行状态时,该服务才会被启动。
例如:

1
2
3
4
5
6
7
8
9
10
11
12
version: '3.9'
services:
db:
image: mysql
ports:
- "3306:3306"
app:
build: .
ports:
- "80:80"
depends_on:
- db

在启动 Docker-Compose 时,Compose 会先启动 db 服务,等待它启动并处于运行状态后,才会启动 app 服务

1.2 healthchec

在docker-compose中加入healthcheck
healthcheck 支持下列选项:
test:健康检查命令,例如 [“CMD”, “curl”, “-f”, “http://localhost/actuator/health"]
interval:健康检查的间隔,默认为 30 秒,单位(h/m/s);
timeout:健康检查命令运行超时时间,如果超过这个时间,本次健康检查就被视为失败,默认 30 秒,单位(h/m/s);
retries:当连续失败指定次数后,则将容器状态视为 unhealthy,默认 3 次。
start-period:应用的启动的初始化时间,在启动过程中的健康检查失效不会计入,默认 0 秒; (从17.05)引入
说明:在此期间的探测失败将不计入最大重试次数。但是,如果健康检查在启动期间成功,则认为容器已启动,所有连续的失败都将计入最大重试次数。
和 CMD, ENTRYPOINT 一样,healthcheck 只可以出现一次,如果写了多个,只有最后一个生效。

在 healthcheck [选项] CMD 后面的命令,格式和 ENTRYPOINT 一样,分为 shell 格式,和 exec 格式。命令的返回值决定了该次健康检查的成功与否:

0:成功;
1:失败;
2:保留值,不要使用
容器启动之后,初始状态会为 starting (启动中)。Docker Engine会等待 interval 时间,开始执行健康检查命令,并周期性执行。
如果单次检查返回值非0或者运行需要比指定 timeout 时间还长,则本次检查被认为失败。
如果健康检查连续失败超过了 retries 重试次数,状态就会变为 unhealthy (不健康)。

一旦有一次健康检查成功,Docker会将容器置回 healthy (健康)状态

二、验证

2.1 延迟启动的nginx 容器

首先创建一个延迟启动nginx容器

1
2
3
4
5
6
7
8
9
10
11
12
#docker-compose -f sleepnginx-compose.yml up -d
#sleepnginx-compose.yml 配置文件如下
version: "3.9"
services:
sleepnginx1:
image: nginx
ports:
- "13001:80"
restart: always
container_name: sleepnginx1
# 添加STARTUP_DELAY参数并设置为60s(单位为秒)
command: sh -c "sleep 60 && nginx -g 'daemon off;'"

启动

1
2
3
(base) [root@localhost sleepNginx]# docker-compose -f sleepnginx-compose.yml up -d 
[+] Running 1/1
⠿ Container sleepnginx1 Started 0.4s

60秒内执行
查看docker 容器情况发现 启动成功

1
2
3
(base) [root@localhost ~]# docker ps 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cdf4e23d11c9 nginx "/docker-entrypoint.…" 37 seconds ago Up 36 seconds 0.0.0.0:13001->80/tcp, :::13001->80/tcp sleepnginx1

但是访问http://ip:13001 并不能访问到nginx页面
并且容器日志也查看不到

1
(base) [root@localhost ~]# docker logs -f cdf4e23d11c9

60秒以外则可以访问nginx 并且查看日志,则证明nginx 延迟启动成功

1
2
3
4
5
6
7
8
(base) [root@localhost ~]# docker ps 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cdf4e23d11c9 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:13001->80/tcp, :::13001->80/tcp sleepnginx1
(base) [root@localhost ~]# docker logs -f cdf4e23d11c9
2024/01/01 13:26:58 [notice] 8#8: using the "epoll" event method
2024/01/01 13:26:58 [notice] 8#8: nginx/1.23.1
2024/01/01 13:26:58 [notice] 8#8: built by gcc 10.2.1 20210110 (Debian 10.2.1-6)
....

2.2 验证 depends_on 依赖启动

创建一个延迟启动nginx容器sleepnginx1,创建另一个容器sleepnginx2,依赖此容器,并且将此容器配置文件放到前面,
若sleepnginx2 在 sleepnginx1 之后启动,则证明 sleepnginx2是在sleepnginx1启动成功后启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#docker-compose -f sleepnginx-compose-v2.yml up -d
#sleepnginx-compose-v2.yml 配置文件如下
version: "3.9"
services:

sleepnginx2:
image: nginx
ports:
- "13002:80"
restart: always
depends_on:
- "sleepnginx1"
container_name: sleepnginx2

sleepnginx1:
image: nginx
ports:
- "13001:80"
restart: always
container_name: sleepnginx1
# 添加STARTUP_DELAY参数并设置为60s(单位为秒)
command: sh -c "sleep 60 && nginx -g 'daemon off;'"

查看启动结果如下

1
2
3
4
(base) [root@localhost ~]# docker ps 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
671c750e5828 nginx "/docker-entrypoint.…" 7 seconds ago Up 6 seconds 0.0.0.0:13002->80/tcp, :::13002->80/tcp sleepnginx2
61d87d89be45 nginx "/docker-entrypoint.…" 7 seconds ago Up 7 seconds 0.0.0.0:13001->80/tcp, :::13001->80/tcp sleepnginx1

sleepnginx1 在 sleepnginx2 之前启动 ,及 sleepnginx2 通过 配置 depends_on 依赖 sleepnginx1

2.3 验证 healthchec 和 depends_on 配置 健康检查,并检查通过之后启动

创建一个延迟启动nginx容器sleepnginx1,并进行健康检查
创建另一个容器sleepnginx2,依赖sleepnginx1健康检查通过,sleepnginx1启动,并证明启动成功后启动sleepnginx2,
若sleepnginx2 在 sleepnginx1 健康检查通过之后启动,则证明 healthchec 生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#docker-compose -f sleepnginx-compose-v3.yml up -d
#sleepnginx-compose-v3.yml 配置文件如下
version: "3.9"
services:
sleepnginx1:
image: nginx
ports:
- "13001:80"
restart: always
container_name: sleepnginx1
# 添加STARTUP_DELAY参数并设置为60s(单位为秒)
command: sh -c "sleep 60 && nginx -g 'daemon off;'"
healthcheck:
test: ["CMD-SHELL", "curl -fs http://127.0.0.1:80 || exit 1"] # 检测方式
interval: 30s # 多次检测间隔多久 (default: 30s)
timeout: 10s # 超时时间 (default: 30s)
retries: 5 # 尝试次数(default: 3)
start_period: 5s # 容器启动后多久开始检测 (default: 0s)

sleepnginx2:
image: nginx
ports:
- "13002:80"
restart: always
depends_on:
sleepnginx1:
condition: service_healthy
container_name: sleepnginx2

注意,此处的healthcheck: test curl -fs http://127.0.0.1:80 地址端口均在容器内执行,端口为映射前的端口

查看启动结果如下(60秒内)

1
2
3
4
5
6
7
8
9
(base) [root@localhost sleepNginx]# docker-compose -f sleepnginx-compose-v3.yml  up -d 
[+] Running 2/2
⠿ Container sleepnginx1 Started 0.4s
⠿ Container sleepnginx2 Created 0.0s

(base) [root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa714e257691 nginx "/docker-entrypoint.…" 15 seconds ago Created sleepnginx2
42b98514a96f nginx "/docker-entrypoint.…" 15 seconds ago Up 15 seconds (health: starting) 0.0.0.0:13001->80/tcp, :::13001->80/tcp sleepnginx1

查看启动结果如下(60秒外)

1
2
3
4
5
6
7
8
9
(base) [root@localhost sleepNginx]# docker-compose -f sleepnginx-compose-v3.yml  up -d 
[+] Running 2/2
⠿ Container sleepnginx1 Running 0.0s
⠿ Container sleepnginx2 Started 0.4s

(base) [root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa714e257691 nginx "/docker-entrypoint.…" About a minute ago Up 15 seconds 0.0.0.0:13002->80/tcp, :::13002->80/tcp sleepnginx2
42b98514a96f nginx "/docker-entrypoint.…" About a minute ago Up About a minute (healthy) 0.0.0.0:13001->80/tcp, :::13001->80/tcp sleepnginx1

及 sleepnginx2 依赖 sleepnginx1 的健康检查成功后进行启动

三、验证过程中出现的问题记录

延迟命令中,为什么要加 nginx -g “daemon off;”

在常规的虚机上,nginx默认是以守护进程来运行的(daemon on),在后台默默提供服务,同时部署多个ngxin服务也不会相互干扰。
在容器环境,one container == one process,容器要能持续运行,必须有且仅有一个前台进程,所以对nginx进程容器化,需要将nginx转为前后进程( daemon off)。
能顺利执行docker run nginx,启动容器并不退出,是因为nginx的官方镜像Dockerfile 已经指定 nginx -g “daemon off;”
再回到上文,为什么此处脚本中要加”nginx -g “daemon off;” 呢?
CMD在执行的shell脚本[“sh”, “replace_api_url.sh”],实际上是启动shell进程来执行,脚本执行完,进程就会退出(此时nginx还是一摊死的物理文件),
所以要在脚本内再添加nginx -g “daemon off;” 将整个shell进程转为前台能持续运行的进程。

容器=进程, 有且仅有一个前台能持续运行的进程
nginx 默认是后台守护进程的形式运行, nginx -g “daemon off;” 以前台形式持续运行。

depends_on 配置后出现报错

在配置 depends_on 过程中出现报错

1
2
3
depends_on:
sleepnginx1:
condition: service_healthy

报错如下

1
services.sleepnginx1.depends_on contains an invalid type, it should be an array

解决办法 升级docker-compose 版本支持 version: “3.9”

在Docker compose规范的版本3中被删除,但随后在版本3.9中重新引入。
参见https://github.com/compose-spec/compose-spec/blob/master/spec.md#long-syntax-1

升级方法如下

1
2
3
rm /usr/local/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。

FFmpeg windows电脑FFmpeg安装教程

发表于 2023-10-28
字数统计: 626 字 | 阅读时长 ≈ 3 min

FFmpeg是什么

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

官方网站: https://ffmpeg.org/

FFmpeg安装

打开 FFmpeg 官网,选择下载。

选择 Windows 平台, 选择其一(Windows builds from gyan.dev )。

进去以后,选择左边的 release builds

选择下面中的前一个稳定版本 ffmpeg-6.0-full_build.7z

解压以后的内容,进入 bin 目录,复制 bin 目录路径。

配置系统环境变量 我的电脑-> 属性 -> 高级系统设置 -> 高级 -> 环境变量

选择 Path,然后编辑,将复制 bin 目录路径 新增进去

FFmpeg验证使用

重新打开一个命令行窗口,输入: ffmpeg -version,有版本信息输出,则证明配置成功!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
C:\MyWorkProgram>ffmpeg -version
ffmpeg version 2023-12-14-git-5256b2fbe6-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 58. 33.100 / 58. 33.100
libavcodec 60. 35.100 / 60. 35.100
libavformat 60. 18.100 / 60. 18.100
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 14.100 / 9. 14.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100

C:\MyWorkProgram>

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-compose快速搭建开源MrDoc团队文档、知识、笔记在线管理系统

发表于 2023-10-22
字数统计: 394 字 | 阅读时长 ≈ 2 min

MrDoc是什么

MrDoc觅思文档,一个支持跨平台、跨终端的在线文档、知识库管理程序。

官方网站: https://mrdoc.pro/
官方Gitee: https://gitee.com/zmister/MrDoc
官方Demo:http://mrdoc.zmister.com/

MrDoc搭建

mrdoc-compose.yml 文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# docker run -d --name mrdoc -p 10186:10086 -v /data/mrdoc/config:/app/MrDoc/config /data/mrdoc/media:/app/MrDoc/media jonnyan404/mrdoc-alpine:latest
# 1.新建文件夹 mrdoc 和 子目录
# mkdir -p /data/mrdoc/{config,media}
# 2.进入 mrdoc 目录
# cd /data/mrdoc
# 3.将 mrdoc-compose.yml 放入当前目录
# 4.启动
# docker-compose -f mrdoc-compose.yml up -d
#
# 方式一:创建新管理员
#docker exec -it mrdoc python manage.py createsuperuser
#根据提示输入 账号/邮箱/密码 即可
#方式二:修改管理员密码
#docker exec -it mrdoc python manage.py changepassword admin
#按提示输入新密码即可,英文大小写混合+数字大于8位
version: '3'

services:
mrdoc:
image: jonnyan404/mrdoc-alpine:latest
container_name: mrdoc
restart: always
ports:
- 10186:10086
volumes:
- /data/mrdoc/config:/app/MrDoc/config
- /data/mrdoc/media:/app/MrDoc/media

按照mrdoc-compose.yml 内的步骤逐步执行

MrDoc使用

浏览器访问:http://ip:10186/

创建账号进行登录,然后,可进行协作创作
也可以支持分账户,修改主题的等,简单好用

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-Compose快速搭建sun-Panel导航页

发表于 2023-10-21
字数统计: 352 字 | 阅读时长 ≈ 2 min

sun-panel是什么

sun-pane 是一个服务器、NAS导航面板、Homepage、浏览器首页。
开源地址是
https://github.com/hslr-s/sun-panel
https://gitee.com/hslr/sun-panel

sun-panel 搭建

sun-panel-compose.yml 文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# docker run -d --restart=always -p 3002:3002 -v /volume1/docker/Sun-Panel/conf:/app/conf -v /volume1/docker/Sun-Panel/uploads:/app/uploads -v /volume1/docker/Sun-Panel/database:/app/database --name sun-panel hslr/sun-panel
# 1.新建文件夹 sunpanel 和 子目录
# mkdir -p /data/sunpanel/{conf,uploads}
# 2.进入 sunpanel 目录
# cd /data/sunpanel
# 3.将 sun-panel-compose.yml 放入当前目录
# 4.启动
# docker-compose -f sun-panel-compose.yml up -d
#
# 默认用户名密码:
# admin@sun.cc
# 12345678
version: '3'

services:
sunpanel:
image: hslr/sun-panel
container_name: sunpanel
restart: always
ports:
- 3003:3002
volumes:
- /data/sunpanel/conf:/app/conf
- /data/sunpanel/uploads:/app/uploads
- /data/sunpanel/database:/app/database

按照sun-panel-compose.yml 内的步骤逐步执行

sun-panel 使用

浏览器访问:http://ip:3003/

输入账号进行登录,然后,可以点击添加自己的导航网址,支持小窗打开,
也可以支持分账户,修改主题的等,简单好用

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-Compose快速搭建快速搭建wordpress博客服务

发表于 2023-10-15
字数统计: 350 字 | 阅读时长 ≈ 1 min

wordpress是什么

wordpress是一个基于PHP语言编写的开源的内容管理系统(CMS),它有丰富的插件和主题,可以非常简单的创建各种类型的网站,包括企业网站、电子商务网站、新闻门户、论坛等等。
官网地址是
https://wordpress.com/

wordpress 搭建

wordpress-compose.yml 文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#步骤一:mkdir -p /data/wordpress/{wp_html,logs}
#步骤二:docker-compose -f wordpress-compose.yml up -d
#步骤三:在浏览器输入机器IP:18090 就可以进入httpd页面
#wordpress-compose.yml 配置文件如下
version: '3.1'
services:
wordpress:
image: wordpress:latest
restart: always
ports:
- 18090:80 # 映射的端口,可以随便取
environment:
WORDPRESS_DB_HOST: xx.xx.xx.xx:3306 #数据库服务的ip:端口
WORDPRESS_DB_NAME: wordpress #库名
WORDPRESS_DB_USER: xxxx #数据库账号
WORDPRESS_DB_PASSWORD: xxxx #数据库密码
volumes:
- /data/wordpress/wp_html:/var/www/html # 相关的信息卷

按照wordpress-compose.yml 内的步骤逐步执行

wordpress 使用

浏览器访问:http://ip:18090/

此时需要wordpress 的初始化,
需要mysql 数据库,
按照要求进行,支持中文,比较方便

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

Docker Docker-compose快速搭建Apache静态网页和文件服务器

发表于 2023-10-14
字数统计: 285 字 | 阅读时长 ≈ 1 min

Apache是什么

Apache http服务器,通俗地称为Apache,是一个开源的Web服务器软件,它可以在多种操作系统上运行。它最初由美国国家超级计算机应用中心(NCSA)开发,后来由Apache软件基金会维护和开发。

官网地址是
https://www.apache.org/

Apache 搭建

httpd-compose.yml 文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#步骤一:mkdir -p /data/httpd/{web,logs}
#步骤二:docker-compose -f httpd-compose.yml up -d
#步骤三:在浏览器输入机器IP:18080 就可以进入httpd页面
#httpd-compose.yml 配置文件如下
version: '3'
services:
web:
container_name: web
image: httpd
ports:
- "18080:80"
privileged: true
volumes:
- "/data/httpd/web/:/usr/local/apache2/htdocs/"

按照httpd-compose.yml 内的步骤逐步执行

Apache 使用

将html 文件放到/data/httpd/web/目录下面
浏览器访问:http://ip:18080/

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

1234…38

继开

一辈子很短,努力的做好两件事就好:第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。

303 日志
171 标签
RSS
gitee E-Mail
0%
鲁ICP备18007712号
© 2025 继开 | 站点字数统计: 262.2k
博客使用 Hexo 搭建
|
主题 — NexT.Mist v5.1.4
人访问 次查看