Centos7安装docker并部署halo建站

简介: Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到可移植的容器中,然后在任何支持 Docker 的平台上运行。Docker 的核心概念包括镜像(Image)、容器(Container)和仓库(Repository)。镜像是创建容器的基础,容器是镜像的运行实例,而仓库是存储和分发镜像的中心仓库。Docker 的优势在于快速、一致地交付应用,实现响应式部署和扩展,以及更高效地利用硬件资源。它常用于简化配置、代码流水线管理、提

实验环境:Centos7.6

一、docker等名词简介

Docker 是一个开源的应用容器引擎,允许开发者打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 的核心概念

  • 镜像(Image):Docker 镜像是用于创建 Docker 容器的模板,可以把它想象成一个操作系统的 ISO 文件。镜像是只读的,当容器启动时,一个新的可写层被加载到镜像顶部。
  • 容器(Container):容器是镜像的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离、保证安全的平台。
  • 仓库(Repository):仓库是集中存放镜像文件的地方。有公开的仓库服务如 Docker Hub 和 Google Container Registry,也可以搭建私有的仓库。

Docker 的优势

  1. 快速、一致地交付你的应用:Docker 允许开发者在本地构建、测试并分享 Docker 容器。这些容器可以在开发生命周期中的任何地方被部署,从而保证了一致性和速度。
  2. 响应式部署和扩展:Docker 基于容器的平台允许高度的自动化和微服务架构,这意味着您的应用和服务可以被快速、频繁且可靠地扩展或更新。
  3. 在同一硬件上运行更多的工作负载:Docker 提供了轻量级的虚拟化,使得你可以在相同的硬件上运行更多的负载,这有助于提高资源利用率和降低开销。

使用场景

  • 简化配置:通过为每个应用创建一个容器来避免安装和配置问题。
  • 代码流水线管理:自动化的持续集成和部署。
  • 提高开发效率:通过使用 Docker 容器,开发者可以在一个标准化的环境中工作,无需担心应用在不同环境下运行时可能出现的问题。
  • 应用隔离:确保每个应用和服务运行在其自己的容器中,与其他服务隔离。
  • 环境一致性:在开发、测试和生产环境中保持环境一致性,减少“在我机器上运行正常”的问题。

总结:Docker 已经成为微服务架构和云原生应用开发的重要组成部分,是现代 DevOps 实践的关键工具之一

二、docker安装步骤

1).卸载旧版本

如之前有安装过docker,卸载命令如下

sudo yum remove docker \

                 docker-client \

                 docker-client-latest \

                 docker-common \

                 docker-latest \

                 docker-latest-logrotate \

                 docker-logrotate \

                 docker-engine

2).安装依赖包

yum -y install gcc

yum -y install gcc-c++

3).安装软件包

yum install -y yum-utils

4).设置 stable 镜像仓库

# 使用国内阿里云仓库链接下载

这里不推荐从官网下载,因为是外网链接,容易超时报错。

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5).更新 yum 软件包索引

yum makecache fast

6).安装 Docker 引擎

yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

7).启动 Docker

systemctl start docker    # 启动

systemctl status docker   # 查看状态

systemctl enable docker   # 设置开机自启

ps -ef | grep docker      # 查看进程

8).测试是否安装成功

#第一次输入会报错,显示本地没有该镜像,得去远程仓库里拉取镜像

docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

# 再次输入即可

docker run hello-world

9).卸载docker

systemctl stop docker

yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

rm -rf /var/lib/docker

rm -rf /var/lib/containerd

三、配置镜像加速

#我这里使用的是阿里云的镜像加速,打开阿里云工作台->搜索容器镜像服务 ACR

复制镜像加速代码命令至系统中

重启docker,完成配置镜像加速。

四、使用docker拉取并部署halo CMS

1).检查docker版本

~ docker -v

#检查docker compose版本:**确保2.0以上版本

~ docker compose version

  • **下载Halo镜像:**在docker hub下载Halo-V2.10版本镜像

~ docker pull halohub/halo:2.10

2).创建挂载目录

  • mkdir-p /data/halo &&cd /data/halo

3).创建Halo容器:

Halo 2与1.x 版本不兼容;

此命令默认使用自带的 H2 Database 数据库,另外可以额外单独使用Mysql数据库进行连接。

~ docker run -it -d --name halo -p 8090:8090 -v /data/halo/.halo2:/root/.halo2 halohub/halo:2.10

  • 查看halo容器状态:检查halo容器状态,确保halo容器正常启动
  • docker ps
  • 检查halo容器日志: 检查halo容器运行日志,确保halo服务正常启动。
  • docker logs halo
  • 查看本地IP地址
  • ifconfig
  • 然后如果你是云服务器的话,要在防火墙规则上面添加允许8090端口开放的规则,我这里是腾讯云服务器举例

4).进入Halo初始化页面

  • 访问地址:http://IP/8090/console/setup,将IP替换为自己服务器IP地址。

**站点名称:**myweb
**邮箱:**admin@qq.com
**用户名:**admin
**密码:**自定义
点击初始化即可

目录
相关文章
|
4天前
|
消息中间件 Kafka Docker
docker compose 安装 kafka
通过本文的步骤,您可以快速在本地使用 Docker Compose 安装并配置 Kafka 和 Zookeeper。Docker Compose 简化了多容器应用的管理,方便快速搭建和测试分布式系统。
35 2
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
54 20
|
6天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
131 15
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
12天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
91 42
|
6天前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
41 23
|
1月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
225 93
|
1月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
63 17
|
1月前
|
运维 Java 虚拟化
《docker基础篇:1.Docker简介》,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
《docker基础篇:1.Docker简介》,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
121 12