数据卷容器

首先创建一个数据卷容器c_volume,用于数据持久化,存放在/volume

docker run -id --name=c_volume -v /volume centos:7 
docker exec -it c_volume /bin/bash

后续的博客、数据库数据等可以统一放在数据卷容器统一管理

Hugo

准备

hugo部署在docker需要准备以下东西:

  1. go环境
  2. 安装hugo
  3. nginx环境
  4. git环境
  5. 定时任务拉取博客内容

方案

  • 整个博客目录同步数据卷容器中

  • 创建一个容器添加定时任务、git、nginx、和hugo

部署

  1. 创建一个hugo容器

    docker run -id --name=c_hugo-test --volumes-from c_volume centos:7 
    docker exec -it c_hugo-test /bin/bash
    
cd ~
yum install -y vim
# yum install -y wget
yum install -y git
git config --global user.name 2210828779@qq.com
git config --global user.password 19950723.qdf

MySQL

镜像

docker pull mysql:8

运行容器

docker run -itd --name mysql8 -p 10080:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8

docker run \
--name mysql8 \
-d \
-p 10080:3306 \
--restart unless-stopped \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8

| 命令 | 描述 |
| ———- | ———————————– |
|docker run |创建一个新的容器 , 同时运行这个容器|
|–-name mysql |启动容器的名字|
|-d |后台运行|
|-p 10080:3306 |将容器的 3306 (后面那个) 端口映射到主机的 10080(前面那个) 端口|
|–-restart unless-stopped |容器重启策略|
|-v /mydata/mysql/log:/var/log/mysql |将日志文件夹挂载到主机|
|-v /mydata/mysql/data:/var/lib/mysql |将mysql储存文件夹挂载到主机|
|-v /mydata/mysql/conf:/etc/mysql |将配置文件夹挂载到主机|
|-e MYSQL_ROOT_PASSWORD=root |设置 root 用户的密码|
|mysql:5.7 |启动哪个版本的 mysql (本地镜像的版本)|
|\ |shell 命令换行符|

注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是mysql容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。

## 通过Docker命令进入Mysql容器内部
docker exec -it mysql /bin/bash
## 或者
docker exec -it mysql bash

创建hugo_docker

docker pull centos:7
docker run -id --name=hugo_centos -v /mydata/hugo:/opt/hugo centos:7
docker exec -it hugo_centos bash

vi

待更新……