安装完docker之后需要准备一下安装halo需要用到的其他的容器

新建一个docker的网络

因为docker默认的bridge网络是不支持指定ip的,为了后面使用nginx进行反向代理,所以需要先新建一个bridge网络。可以使用docker中的network命令来创建:

sudo docker network create -d bridge --subnet 172.19.0.0/16 mynet

使用上面的命令就可以创建一个名称为mynet的bridge自定义网络了,该网络使用的是172.19.0.0/16的子网,可以分配的网络地址为172.19.0.1-172.19.255.254

准备nginx容器

可以通过下面的docker hub来查找自己需要的版本 docker nginx
目前有这些版本:
目前docker的nginx版本
我使用的是latest 也就是当前的1.19.1
首先使用pull命令来拉取镜像

sudo docker pull nginx:latest

然后等待拉取完成即可
之后新建nginx容器
使用run命令新建

sudo docker run --name nginx --network=mynet --ip=172.19.0.10 -p 80:80 -p 443:443 nginx:latest

80是http端口,443是https端口

准备mysql容器

如果要是使用halo自带的h2数据库的话就不需要准备mysql了。

我在这里使用的是mysql的一个分支mariadb
可以通过docker hub来查找需要的版本 docker mariadb

首先拉取镜像

sudo docker pull mariadb:latest

等待拉取完成即可
然后使用docker run命令新建容器

sudo docker run --name mariadb --network=mynet --ip=172.19.0.11 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw mariadb:latest

my-secret-pw更换成自己想要设置的密码即可
3306端口映射到3307是为了防止与本地安装的mysql冲突

准备过程大概就是这些
如果您在观看过程中发现问题的话,欢迎指正