Docker安装halo

自定义Docker网络

  1. 查看当前Docker网络

    [root@10-7-176-211 ~]# docker network ls
    NETWORK ID     NAME              DRIVER    SCOPE
    e7660459253e   bridge            bridge    local
    4ca31df30e45   example_default   bridge    local
    63d1d72302da   host              host      local
    f1ef8995ba94   none              null      local
    [root@10-7-176-211 ~]# docker network inspect bridge
    [{"Name": "bridge","Id": "e7660459253e3941f01ab914cb8d444276f1c41b799fdba63e29a1b88650250d"                                                                                                             ,"Created": "2021-12-12T11:09:38.822166888+08:00","Scope": "local","Driver": "bridge","EnableIPv6": false,"IPAM": {"Driver": "default","Options": null,"Config": [{"Subnet": "172.17.0.0/16"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {"7ee06ea38f5985bf9b4cc917ffd44ea851982dbea8e02174d56507133ad1a95f":                                                                                                              {"Name": "redis-standalone-dev","EndpointID": "a81bf88204b7cb422faadf58388ea758a0aa0c9da3c0b047c                                                                                                             83646c1400b1183","MacAddress": "02:42:ac:11:00:02","IPv4Address": "172.17.0.2/16","IPv6Address": ""},"98301fef949c07d4cece8612c407ba835969f29cbe32982fa75c1e6eb45ab953":                                                                                                              {"Name": "pgsql-dev","EndpointID": "7a00e6e7246a6962e650c290b9523e9d895ca54024367fb60                                                                                                             47d3d9b77553efc","MacAddress": "02:42:ac:11:00:03","IPv4Address": "172.17.0.3/16","IPv6Address": ""}},"Options": {"com.docker.network.bridge.default_bridge": "true","com.docker.network.bridge.enable_icc": "true","com.docker.network.bridge.enable_ip_masquerade": "true","com.docker.network.bridge.host_binding_ipv4": "0.0.0.0","com.docker.network.bridge.name": "docker0","com.docker.network.driver.mtu": "1500"},"Labels": {}}
    ]

    重点信息: "Subnet": "172.17.0.0/16""IPv4Address": "172.17.0.3/16"

  2. 创建自定义网络并指定网段

    [root@10-7-176-211 ~]# docker network create -d bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 halo-net
    4257e42bbf3bb64ec39544a5a6ba49a345df556400f3d8ec36099c59f09539eb
    [root@10-7-176-211 ~]# docker network ls
    NETWORK ID     NAME              DRIVER    SCOPE
    e7660459253e   bridge            bridge    local
    4ca31df30e45   example_default   bridge    local
    4257e42bbf3b   halo-net          bridge    local
    63d1d72302da   host              host      local
    f1ef8995ba94   none              null      local
    

    -d: 指定驱动,网络类型

    –subnet: 指定子网网段

    –gateway: 指定子网网关

    halo-net: 网络名称

  3. 查看新建的网络详情

    [root@10-7-176-211 ~]# docker network inspect halo-net
    [{"Name": "halo-net","Id": "4257e42bbf3bb64ec39544a5a6ba49a345df556400f3d8ec36099c59f09539eb","Created": "2022-02-20T19:49:49.295905019+08:00","Scope": "local","Driver": "bridge","EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "192.168.0.0/16","Gateway": "192.168.0.1"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {},"Options": {},"Labels": {}}
    ]
    

    重点: "Subnet": "192.168.0.0/16""Gateway": "192.168.0.1"以及容器情况,现在没有任何容器链接到该网络,所以是空的: "Containers": {}

Docker安装MySql

  1. 创建mysql宿主目录

    [root@10-7-176-211 opt]# mkdir -p /opt/halo/mysql
    
  2. 运行Docker命令创建Mysql容器

    [root@10-7-176-211 opt]# docker run --name some-mysql -v /opt/halo/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw --net halo-net --restart=unless-stopped -d mysql/mysql-server
    [root@10-7-176-211 opt]# docker ps -a
    CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                             PORTS    NAMES
    11d199640bb7   mysql/mysql-server       "/entrypoint.sh mysq…"   25 seconds ago   Up 24 seconds (health: starting)   3306/tcp, 33060-33061/tcp      some-mysql
  3. 进入容器

    [root@10-7-176-211 opt]# docker exec -it some-mysql /bin/bash
    bash-4.4#
    
  4. 在容器中增加用户admin,指定hosthalo容器的IP,并授权admin用户

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -ADatabase changed
    mysql> create user 'admin'@'192.168.0.3' identified by 'my-secret-pw';
    Query OK, 0 rows affected (0.01 sec)mysql> grant all on *.* to 'admin'@'192.168.0.3';
    Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)mysql> select host, user from user where user='admin';
    +-------------+-------+
    | host        | user  |
    +-------------+-------+
    | 192.168.0.3 | admin |
    +-------------+-------+
    1 row in set (0.00 sec)
  5. 创建halo数据库

    mysql> create database halodb character set utf8mb4 collate utf8mb4_bin;
    Query OK, 1 row affected (0.01 sec)
    

Docker安装Halo

  1. 下载halo配置样例,并对其进行修改

    [root@10-7-176-211 halo]# wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml--2022-02-20 21:01:44--  https://dl.halo.run/config/application-template.yamlResolving dl.halo.run (dl.halo.run)... 104.21.22.75, 172.67.203.114, 2606:4700:3032::ac43:cb72, ...Connecting to dl.halo.run (dl.halo.run)|104.21.22.75|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 798 [application/octet-stream]Saving to: ‘./application.yaml’./application.yaml                              100%[====================================================================================================>]     798  --.-KB/s    in 0s2022-02-20 21:01:46 (11.4 MB/s) - ‘./application.yaml’ saved [798/798]
    

    修改的内容包括:

    • 注释 H2 database configuration.部分
    • 启用 MySQL database configuration.部分
    • 修改 datasource 下的 url 中的 ip 地址部分为容器名称并修改密码为您设定的 MySQL 密码
    • 修改username为刚刚创建并授权了的admin用户和密码

    修改的内容:

    spring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://some-mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true    username: admin    password: my-secret-pw
    
  2. 创建指定IP地址的halo容器

    [root@10-7-176-211 halo]# docker run -it -d --name halo -p 8091:8090 --ip 192.168.0.3 -v /opt/halo:/root/.halo --net halo-net --restart=unless-stopped halohub/halo
    
  3. 查看halo容器是否正常启动


出现这两个图就说明服务器部署成功了!

解析域名并关闭开放的临时端口

绑定和解析域名,并把为看到效果而临时开放的端口8091关闭。

配置Nginx

  1. nginx.conf添加如下配置

    server {        listen 80;        server_name www.xxxxx.com;        location / {                proxy_pass http://127.0.0.1:8091;        }   }   server {        listen 80;        server_name xxxxx.com;        location / {                proxy_pass http://127.0.0.1:8091;        }   }
    
  2. 运行如下nginx命令,重新加载配置

    [root@10-7-176-211 nginx]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@10-7-176-211 nginx]# nginx -s reload
    

Docker安装halo相关推荐

  1. docker安装halo+mysql+nginx搭建个人博客

    docker 安装halo+mysql+nginx搭建个人博客(debian or ubuntu) 1 简介 本文主要介绍debian和国内腾讯云ubuntu下安装docker,使用docker安装h ...

  2. 宝塔docker安装Halo

    一.Docker 部署Halo 宝塔 我们前面还是需要先在宝塔面板环境中安装Docker,一般默认时候是没有安装的. 这里我们在宝塔面板中的Docker管理器应用商店中安装. 我们可以看到直接等待安装 ...

  3. 使用Docker 搭建Halo bolg系统

    说在前面的话,搭建Halo blog结束写第一篇文章,用以记录搭建步骤,其中不涉及各种原理, 相关原理请自己查阅相关文章 文章首发 https://blog.itren.net/ 安装环境 ubunt ...

  4. Docker 部署Halo

    Docker 部署Halo 1.创建工作目录 mkdir ~/.halo && cd ~/.halo 2.下载示例配置文件到工作目录 wget https://dl.halo.run/ ...

  5. 从零开始用Docker搭建Halo个人博客

    文章目录 从零开始用Docker搭建Halo个人博客 食用指南 一.准备工作:需要云主机 入门级[1核2G+40G云盘].公网IP 带宽[1MB] .域名(需备案) 二.使用SSH工具连接远程主机 三 ...

  6. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  7. etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具etcdkeeper)

    1. 使用 apt 或 yum 安装 etcd 命令如下: sudo apt-get install etcd 或者 sudo yum install etcd 这样安装的缺点是:安装的 etcd 版 ...

  8. docker安装Mysql5.7以及远程登陆链接配置

    1.安装mysql5.7 docker镜像 docker安装:docker安装一条龙 1.拉取官方mysql5.7镜像 docker pull mysql:5.7 root@VM-12-5-ubunt ...

  9. docker 安装oracle_阿里云使用Docker搭建Hadoop集群

    摘要 吐血整理,搭建了两遍,亲测可用!!! 我买的是阿里云2C4G的服务器,使用的是CentOS 7.7版本.在搭建过程中踩了不少坑,本篇文章希望对大家有用 CentOS 7.7安装Docker 查看 ...

最新文章

  1. Lvs+keepalived   实现负载均衡、故障剔除(DR模式)
  2. 打包android阴影不见,Android无pading超简单超实用阴影解决方案
  3. 【最贴心】C++字符串转换(stoi;stol;stoul;stoll;stoull;stof;stod;stold)
  4. UGUI Canvas
  5. 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
  6. Kafka 设计与原理详解(一)
  7. Day77 Java框架 SSH案例_ERP(十一)_CXF框架_红日物流BOS系统_ERP物流信息管理
  8. JavaScript生成uuid
  9. Pr入门系列之十四:处理音频
  10. android无法格式化sd卡,手机sd卡无法格式化怎么回事?手机sd卡无法格式化解决方法...
  11. 简单点击图片弹出video视频弹窗功能
  12. 交互式电子白板的八种常用功能
  13. oracle remap_tablespace,oracle使用remap_tablespace修改用户数据所在的表空间
  14. 算法(arithmetic)
  15. 视频特征提取常用范式总结
  16. 数据分析之Sql Server 如何计算年龄
  17. BUUCTF-MISC-九连环
  18. TensorFlow入门教程:8:训练数据之Iris数据集
  19. 阿里代运营一定要掌握的几大技能!
  20. OracleDBLink

热门文章

  1. 干净删除3721等流氓插件
  2. 2016 province java c-1 有奖竞猜
  3. 【网络工程零基础】小白零基础,详细教程一看就能学会
  4. 小学计算机教师使用计划,小学三至六年级下册信息技术教学计划
  5. 声网在线K歌房解决方案:一站式接入版权曲库与K歌组件
  6. Blueprint could not be loaded because it derives from an invalid class.
  7. c语言实验一,c语言实验-实验一.doc
  8. 2022年危险化学品经营单位主要负责人操作证考试题及模拟考试
  9. 提升AI智能化水平,打造智慧新体验
  10. CMOS Sensor介绍