本文主要讲解的是,如果将蘑菇博客制作成多个Docker业务镜像,逐步讲解每个镜像制作的过程
如果你只想快速部署蘑菇博客,那么可直接参考:DockerCompose一键部署蘑菇博客(Nacos版)
如果你想了解一下Docker Compose的使用,参考: Docker Compose入门学习
如果你想把制作好的镜像提交到镜像仓库,参考:使用GithubAction构建蘑菇博客镜像提交DockerHub
如果你想了解Docker图形化工具Portainer的使用,参考:Docker图形化工具Portainer介绍与安装
我们首先安装一些可能会用到的工具
yum install vim net-tools unzip wget git maven -y
首先配置一下Docker的阿里yum源
cat >/etc/yum.repos.d/docker.repo<<EOF
[docker-ce-edge]
name=Docker CE Edge - \$basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/edge
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
然后yum方式安装docker
# yum安装
yum -y install docker-ce
# 查看docker版本
docker --version
# 启动docker
systemctl enable docker
systemctl start docker
配置docker的镜像源
cat >> /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
然后重启docker
systemctl restart docker
下载Docke Compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
加入执行权限
# 加入执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看docker-compose版本
docker-compose -v
!!注意,如果上面下载速度过于缓慢,可以采用离线的安装方式
# 到github release中下载我们的docker-compose
https://github.com/docker/compose/releases
然后选择Linux版本下载
如果上述地址下载过于缓慢,请备用地址:点我传送
把下载到的文件使用Xftp工具,拷贝到 /usr/local/bin/
目录下
# 重命名
mv docker-compose-Linux-x86_64 docker-compose
# 加入执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看docker-compose版本
docker-compose -v
我们下面需要安装Git,然后下载蘑菇博客源码,我们采用yum来进行安装
# 首先查看是否安装过 git【如果安装了就跳过】
git --version
然后进行安装
yum -y install git
安装好后,我们下载蘑菇博客的源码【选择nacos分支】
git clone -b Nacos --depth 1 https://gitee.com/chengccn1/mogu_blog_v2.git
下面我们到蘑菇博客的源码目录,运行 bash.sh
脚本,主要用于安装常用工具,node等环境,内容如下。
#!/usr/bin/env bash
echo "=====Linux必要软件安装====="
echo "=====安装vim net-tools unzip wget git maven====="
yum install vim net-tools unzip wget git maven -y
echo "=====安装node14====="
wget https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v14.15.1/node-v14.15.1-linux-x64.tar.gz
tar xf node-v14.15.1-linux-x64.tar.gz -C /usr/local
mv /usr/local/node-v14.15.1-linux-x64/ /usr/local/node14
echo '
export NODE_HOME=/usr/local/node14
export PATH=$NODE_HOME/bin:$PATH
' >> /etc/bashrc
source /etc/bashrc
ln -s /usr/local/node14/bin/npm /usr/local/bin/
ln -s /usr/local/node14/bin/node /usr/local/bin/
echo "=====node14版本====="
node -v
echo "=====npm 版本====="
npm -v
rm -rf node-v14.15.1-linux-x64
我们进入源码目录,运行命令
sh base.sh
maven的依赖,默认是从 maven repository中央仓库拉取的,可能会比较慢,我们需要增加镜像地址+
编辑文件
vim /usr/share/maven/conf/settings.xml
标签下,增加如下内容
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
</mirrors>
下面我们在源码目录,找到 mogublog_base_service
文件夹,然后拷贝到 /root
目录
# 拷贝
cp -R mogublog_base_service /root/
创建网络
docker network create mogu
重启docker
systemctl restart docker
在 /soft/mogublog_base_service 执行下面命令