docker 构建个人博客网站

本文详细介绍了如何打包Docker镜像,注册并上传到DockerHub,以及在腾讯云服务器上使用docker-compose配置和部署前后端应用的过程。
摘要由CSDN通过智能技术生成

1、项目地址

https://gitee.com/hhll/blog-hangliang.git

2、打包docker镜像并上传docker hub

【1】注册docker hub账号https://hub.docker.com/

【2】在docker hub建对应的仓库

【3】登录docker hub并打包上传前后端镜像

sudo docker login -u xxxx 密码 xxxxxx

后端:先将jar包替换

docker build -t="blgserver" .

sudo docker tag blgserver huanl250/myblog-server:1.2

sudo docker push huanl250/myblog-server:1.2

前端:先将dist替换

docker build -t="blgfront" .

sudo docker tag blgfront huanl250/myblog-front:1.0

sudo docker push huanl250/myblog-front:1.0

sudo docker pull huanl250/myblog-front:1.0

本地docker目录结构

3、腾讯云服务器配置

【1】购买服务器,装带docker的ubuntu系统

【2】登录系统检查环境

【3】编写docker compose文件

version: '3'
services:
  front:
    image: huanl250/myblog-front:latest
    restart: "always"
    privileged: true
    container_name: compose-frontapp
    ports:
      - "8080:80"
  web:
    image: serverapp:latest
    restart: "always"
    privileged: true
    container_name: compose-serverapp
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/my_blog?serverTimezone=GMT%2B8&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&rewriteBatchedStatements=true
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: xxxxx
      SPRING_PROFILES_ACTIVE: test
      MINIO_ENDPOINT: http://43.143.89.220:9000
      MINIO_SAVEFILEPATH: /home/temp1/
      MINIO_unZipFilePath: /home/temp/
      MINIO_PASSWORD: root123456
      MINIO_USERNAME: root
      MINIO_BUCKET: test
    ports:
      - "38080:8080"
    links:
      - mysql
      - minio
    depends_on:
      - mysql
      - minio
  mysql:
    image: mysql
    restart: "always"
    privileged: true
    container_name: compose-mysql
    ports:
      - "33306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: xxxxx
    volumes:
      - /home/huangliang/mysql/data:/var/lib/mysql
      - /home/huangliang/mysql/config:/etc/mysql/conf.d
      - /home/huangliang/mysql/logs:/var/log/mysql
  minio:
    image: minio/minio
    restart: "always"
    privileged: true
    container_name: compose-minio
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - /home/huangliang/minio/data:/data
    environment:
      MINIO_ROOT_USER: root
      MINIO_ROOT_PASSWORD: xxxxx
    command: server /data --console-address ":9001"

【4】启动服务

sudo docker-compose down

sudo docker-compose up -d

如果是用同一个版本号需要先docker pull

4、访问网站

【1】放开访问端口

【2】通过ip+端口访问

http://43.143.89.220:8080/huangl-blg-front/#/

要在本地使用Docker容器搭建个人博客,你可以按照以下步骤进行操作: 1. **选择博客平台和镜像**:首先,你需要选择一个支持部署在Docker环境的博客平台,比如Jekyll、Hexo或WordPress等。确保找一个有官方提供Docker镜像的版本。 2. **下载Docker安装**:如果你还没有安装Docker,访问Docker官网(https://www.docker.com/)下载并安装适合你操作系统的版本。 3. **创建项目文件夹**:在本地创建一个用于存放博客源码的文件夹,例如`myblog`。 4. **克隆或初始化博客代码**:将你选择的博客平台的模板克隆到`myblog`文件夹,或者根据平台文档初始化项目。 5. **编写Dockerfile**:在`myblog`根目录下创建一个名为`Dockerfile`的文件,写入构建镜像的指令,包括设置环境变量、依赖库、复制源码等内容。例如,如果你用的是Jekyll,可能需要指定Ruby版本和依赖包。 ```Dockerfile # 使用官方基础镜像 FROM jekyll/jekyll:latest # 设置工作目录 WORKDIR /app # 将本地源码复制到容器中 COPY . . # 配置Jekyll ENVJEKYLL_ENV production EXPOSE 4000 # 运行Jekyll serve CMD ["jekyll", "serve", "-H", "0.0.0.0"] ``` 6. **构建Docker镜像**:在命令行中切换到`myblog`目录,然后运行`docker build -t myblog .`来根据`Dockerfile`构建镜像。`myblog`是镜像标签,你可以自定义。 7. **运行容器**:使用`docker run -p 4000:4000 --name myblog_container myblog`命令运行容器,并将主机的端口4000映射到容器的4000端口,这样就可以通过localhost:4000访问博客了。 8. **配置和迁移数据**:根据博客平台的具体需求,可能需要配置数据库连接信息并迁移已有的文章数据。 9. **启动和维护**:每次修改源码后,使用`docker-compose up -d`(如果有docker-compose.yml文件)或`docker restart myblog_container`来重新加载并启动容器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值