优秀的编程知识分享平台

网站首页 > 技术文章 正文

Mac通过Docker运行Java服务(mac使用docker还需要安装linux吗)

nanyue 2024-10-01 13:03:33 技术文章 9 ℃

本机Docker部署是为了全面看到部署日志,快速验证代码。

环境搭建

安装Docker Install on Mac | Docker Documentation

安装好后点开即本机运行Docker。


修改配置:

打开Docker后,设置 -> Docker Engine 可以看到当前的配置。

1.buildkit 由true改成false,是因为我们的仓库地址是http的,而该客户端是https。设置成false后,来解决如下的错误。

"features": {
    "buildkit": false
  },

错误:

2.增加Docker仓库地址配置

 "insecure-registries": [
    "harbor.***.io"
  ]


部署运行

整体思路是:

Java服务打包,Docker构建服务镜像,上传到仓库,根据镜像起服务实例即完成服务的Docker部署和启动。

打开命令行终端

1.Java服务打包 (setting文件根据机器路径设置)

mvn clean package -Pdev -Dmaven.test.skip=true -U -f pom.xml -s /Users/***/.m2/settings.xml

2.Docker构建服务镜像

docker build --build-arg BUILD_ENV=*** -f Dockerfile -t harbor.***.io/***/***-service:2023011533 .

其中 BUILD_ENV=*** 是Java启动时,指定的环境参数,当前设置是A环境启动,即读取config中的***的配置文件。

-t后设置构建的镜像名称与标签 ***-service:2023011533

最后面还有个 . 是指定构建的Java代码路径。因为我执行命令时在代码路径所以直接 . 当前目录即可。

3.将镜像推送到仓库

docker push harbor.***.io/***/***-service:2023011522

此步骤中如果报如下错误

是需要登录

docker login harbor.***.io

4.运行该镜像生成的实例

docker run -ti harbor.***.io/***/***-service:2023011522

-ti 设置以交互模式运行容器,重新分配一个输入终端。

以上完成了Java服务的Docker运行。


接下来进入Java服务实例的话,另打开一个命令行tab。

5.查看当前运行的所有实例

docker ps -a

可以看到服务的实例id

6.进入实例内部

docker exec -ti 1e4a9367b815 sh


以上。

Tags:

最近发表
标签列表