原创

基于 Docker 与阿里云服务器部署博客小站总结


一、背景介绍

在之前开发了一个小型博客网站项目,为了使项目能够在线上环境运行并供他人访问,我采用了 Docker 容器化技术,并结合阿里云服务器完成了项目部署。后续还计划为网站进行域名备案,以提升网站的专业性和可访问性。

二、Docker 部署相关操作回顾

(一)MySQL 容器部署

基础运行命令:

plaintext
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=密码 mysql

进入容器命令:

plaintext
docker exec -it mysql bash

数据卷挂载:

plaintext
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=密码 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/init:/docker-entrypoint-initdb.d -v /root/mysql/conf:/etc/mysql/conf.d mysql:5.7.26
(二)项目 Dockerfile 构建

Dockerfile 文件:

plaintext
基础镜像使用java
FROM openjdk:8
作者
MAINTAINER jie
VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /root/jieBlog
将jar包添加到容器中并更名为zzyy_docker.jar
ADD MyBlogs-0.0.1-SNAPSHOT.jar jieBolg.jar
运行jar包
RUN bash -c 'touch /jieBolg.jar'
ENTRYPOINT ["java","-jar","/jieBolg.jar"]
暴露8081端口作为服务端口
EXPOSE 8081

构建:

plaintext
docker build -t jieblog-docker:1.0 .

运行:

plaintext
docker run -d -p 8081:8081 723014df12d7
(三)Docker Compose 一键启动
docker-compose.yml:
    
version: "3.8"

services:
  mysql:
    image: mysql:5.7.26
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 1234567891
    volumes:
      - "/root/mysql/conf:/etc/mysql/conf.d"
      - "/root/mysql/data:/var/lib/mysql"
      - "/root/mysql/init:/docker-entrypoint-initdb.d"
    networks:
      - jie-net

  bolg:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: bolg
    ports:
      - "8081:8081"
    networks:
      - jie-net
    depends_on:
      - mysql

  nginx:
    image: nginx
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - /root/nginx/conf.d:/etc/nginx/conf.d
    depends_on:
      - bolg
    networks:
      - jie-net

networks:
  jie-net:
    driver: bridge

启动 / 停止:

plaintext
docker compose up -d
docker compose down

跟踪日志:

plaintext
docker logs -f bolg

三、部署成果

mysql-nginx-jar-域名:

1

通过上述 Docker 相关操作,已成功在阿里云服务器上部署了运行几年开发的小破站,实现了项目的容器化运行,保证了服务的稳定性和可移植性,目前可通过服务器公网 IP 和对应端口访问网站。

四、后续规划

下一步计划为网站申请合适的域名,并完成域名备案手续。备案完成后,将域名与服务器进行绑定,实现通过域名直接访问网站,进一步提升网站的专业性和用户体验

经验
  • 作者:阿杰(联系作者)
  • 发表时间:2025-08-05T05:49:05
  • 版权声明:杰出版
  • 公众号:--无
  • 评论