欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Docker compose 部署微服务项目(从0-1出发纯享版无废话)

Docker compose 部署微服务项目(从0-1出发纯享版无废话)

2025/5/2 4:13:35 来源:https://blog.csdn.net/2302_79840586/article/details/147530467  浏览:    关键词:Docker compose 部署微服务项目(从0-1出发纯享版无废话)

目录

一.Docker安装

(1)安装依赖

(2)安装Docker

(3)启动Docker服务

(4)系统配置

(5)镜像加速配置

(6)验证安装 

二.编写Dockerfile文件

四.docker compose手动安装命令 

五.服务器部署


本文章教学参考下面链接地址:Docker 构建镜像并搭建私人镜像仓库教程_docker 配置镜像仓库-CSDN博客

以及B站教学视频:

B站微服务部署教学视频

一.Docker安装

# Docker 安装与配置指南 (CentOS)## 1. 系统准备# 更新系统软件包
sudo yum update -y# 移除旧版本Docker及相关组件
yum remove -y docker docker-client docker-client-latest docker-ce-cli docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine podman runc# 清理缓存并重建
yum clean all
yum makecache

(1)安装依赖

# 安装必要依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

(2)安装Docker

# 添加Docker仓库(阿里云镜像)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装指定版本Docker
yum install -y docker-ce-20.10.24 docker-ce-cli-20.10.24 containerd.io

(3)启动Docker服务

# 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker# 验证安装
docker --version

(4)系统配置

# 安装wget工具
yum install -y wget# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 禁用SELinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

(5)镜像加速配置

# 创建配置目录
mkdir -p /etc/docker# 配置镜像加速器
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["http://hub-mirror.c.163.com","https://mirrors.tuna.tsinghua.edu.cn","http://mirrors.sohu.com","https://ustc-edu-cn.mirror.aliyuncs.com","https://2yzmpomi.mirror.aliyuncs.com","https://ccr.ccs.tencentyun.com","https://docker.m.daocloud.io","https://docker.awsl9527.cn","https://do.nark.eu.org","https://dc.j8.work","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://docker.1panel.live/","https://noohub.ru","https://huecker.io","https://dockerhub.timeweb.cloud","http://hub.urlsa.us.kg","http://hub.haod.eu.org","http://hub.chxza.eu.org","http://ccoc.eu.org"],"dns": ["8.8.8.8", "8.8.4.4"]
}
EOF# 重新加载配置并重启Docker
systemctl daemon-reload
systemctl restart docker

(6)验证安装 

# 运行测试容器
sudo docker run hello-world# 查看Docker系统信息
docker info# 查看Docker服务状态
sudo systemctl status docker

命令

说明

文档地址

docker pull

拉取镜像

docker pull

docker push

推送镜像到DockerRegistry

docker push

docker images

查看本地镜像

docker images

docker rmi

删除本地镜像

docker rmi

docker run

创建并运行容器(不能重复创建)

docker run

docker stop

停止指定容器

docker stop

docker start

启动指定容器

docker start

docker restart

重新启动容器

docker restart

docker rm

删除指定容器

docs.docker.com

docker ps

查看容器

docker ps

docker logs

查看容器运行日志

docker logs

docker exec

进入容器

docker exec

docker save

保存镜像到本地压缩文件

docker save

docker load

加载本地压缩文件到镜像

docker load

docker inspect

查看容器详细信息

docker inspect

二.编写Dockerfile文件

Dockerfile 是一个文本文件,包含了一系列用于构建 Docker 镜像的指令。它允许开发者定义应用程序运行所需的环境、依赖项和配置,从而实现应用程序的容器化。

FROM eclipse-temurin:8-jre## 创建目录,并使用它作为工作目录
RUN mkdir -p /yudao-gateway
WORKDIR /yudao-gateway
## 将后端项目的 Jar 文件,复制到镜像中
COPY ./target/yudao-gateway.jar app.jar## 设置 TZ 时区
## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m"## 暴露后端项目的 48080 端口
EXPOSE 48080## 启动后端项目
CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar

 三.编写docker compose文件

四.docker compose手动安装命令 

首先访问下面链接去下载docker-compose文件:https://github.com/docker/compose/releases

之后找到下面这个文件下载即可:

如果最新版没有这个安装文件,就往下一版找,直到找到这个文件即可。

之后将这个文件上传到Linux系统:

上传到 /usr/local/bin 目录,不需要解压,并且将其重命名为docker-compose:

然后使用下面命令查看版本号:

docker-compose version

如果出现下面的错误,则输入下面命令添加可执行权限即可:

chmod +x /usr/local/bin/docker-compose

五.服务器部署

为了上传我们的项目到服务器上,idea提供了内置功能:(在顶部菜单栏点击 ​工具(T)​​ → ​部署(E)​​或直接使用快捷键 Ctrl+Alt+Shift+X 唤出菜单)

随后点击+号选择SFTP:

在弹出窗口中点击 + 添加新服务器,填写服务器名称、类型(如SFTP/FTP)、主机地址、端口、用户名和密码。

之后我们配置SSH信息:

然后再上方选择映射,在映射内来选择我们项目要上传到服务器的哪个目录:

随后点击确定, 然后右键根目录,点击部署并上传服务器:

随后将项目上传到服务器后使用cd命令进入,之后下载maven:

cd /你的文件夹路径
sudo yum install maven

之后使用命令执行maven一键打包:(跳过测试环境)

sudo mvn package -DskipTests

等待打包成功后,使用docker compose来指定启动哪个配置文件里的服务:

sudo docker-compose -f docker-compose.yml up

随后docker compose就开始为我们拉取镜像并启动容器。

确定所有的服务全部启动成功了,使用Ctrl+c退出,由于刚刚执行的命令是在前台启动很影响我们的操作与性能,所以在我们前面的基础上加上-d来让所有的服务在后台运行:

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

在此过程中我们可以通过下面命令查看当前各个容器的运行状态:

sudo docker stats

那如果某一个模块启动失败了的话,可以使用下面命令单独对其重新启动:

sudo docker-compose -f docker-compose.yml up 模块名

如果想手动停止模块:

docker-compose down

停止并移除所有关联容器、网络和卷(添加 -v 保留数据卷)

查看容器是否正常运行:

docker-compose ps

或查看日志:

docker-compose logs

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词