Linux

Linux

docker-portainer

https://bugstack.cn/md/road-map/portainer.html#

portainer启动

docker run -d --restart=always --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
git clone https://gitee.com/xiaobaiio/big-market-front.git
git clone https://gitee.com/xiaobaiio/market-lottery.git

页面 http://81.70.76.245:9000

Git

Git

git 查看当前分支

git branch git branch -a

git push --all origin将本机所有分支推送到 gitee

git fetch --all云服务器获取最新分支x

git checkout -b 240217-xfg-dev-ops-tag-raffle切换当前分支到240217-xfg-dev-ops-tag-raffle

Docker

Docker

  1. (前置操作)云服务器安装完 java 和 maven 后,git 代码后

  2. (前置操作)mvn clean install 清理旧的编译文件,重新编译打包生成 jar 包安装到本地仓库中(运行 build脚本里的镜像构建操作(Dockerfile)前的必要操作)

  3. 进入 app 层,build.sh 快速构建 docker 镜像

      • 解释:

        1. Docker 读取当前目录下的 Dockerfile

        2. Dockerfile 做了三件事:

          • FROM openjdk:8-jre-slim: 找一个装好 Java 8 的基础环境。

          • ADD ...: 把刚才第一步生成的 JAR 包塞进去。

          • ENTRYPOINT ...: 告诉镜像,启动的时候运行 java -jar /big-market-app.jar

        3. 最后打上标签,生成一个叫 fuzhengwei/big-market-app:2.0 的本地镜像。

      第三步:启动容器 (Docker Compose)

      这一步就是你说的“根据 yaml 文件启动”。

      • 解释: 你的 docker-compose.yml (yaml 文件) 里一定有一行 image: fuzhengwei/big-market-app:2.0

      • 当你执行 docker-compose up -d 时,Docker 就会找到第二步构建好的镜像,把它跑起来。

  4. 前端同理

总结一下你的操作流

  1. 在宿主机(本地)跑 Mavenmvn clean package 产出 app.jar
  2. 在宿主机(本地)构建镜像docker build 读取 Dockerfile 下载 openjdk 基础镜像 app.jar 塞进去 产出 fuzhengwei/big-market-app:2.0 镜像。
  3. 在宿主机(本地)启动docker run 从本地镜像启动容器 你的应用跑起来了。

docker images 查看当前的镜像

docker-compose-app -f docker-compose-app.yml up -d docker-compose -f docker-compose-app.yml up -d