个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~
Windows版docker部署harbor镜像
Windows版docker部署harbor镜像
拉取harbor镜像
# 登录
docker login harbor.xxx
# 拉取镜像
docker pull harbor.xxx
部署步骤
# 1. 拉取项目镜像(已包含JDK)
docker pull your-cp-project:latest
# 2. 直接运行
docker run -p 8080:8080 \
-e JAVA_OPTS="-Xmx512M -Xms512M" \
your-cp-project:latest
host模式
使用host网络模式可以让容器直接使用宿主机的网络栈,这样容器就可以直接访问宿主机上的服务。以下是修改后的运行命令:
# 使用 --network host 参数
docker run --network host \
-e JAVA_OPTS="-Xmx512M -Xms512M" \
-e NACOS_ADDR=localhost:8848 \
-e REDIS_HOST=localhost \
your-cp-project:latest
#实际案例:
#查看镜像的id,用于docker run
docker images
# 项目1
docker run -p 8014:8014 ^
-e JAVA_OPTS="-Xmx1G -Xms1G" ^
-e spring.profiles.active=dev ^
-e NACOS_ADDR=host.docker.internal:8848 ^
-e NACOS_NAMESPACE=9608c7ba-8d56-4761-9250-ebc7a2cc153a ^
-e JAVA_VERSION=11.0.14.1 ^
-e spring.cloud.nacos.discovery.ip=192.168.103.184 ^
-e spring.cloud.nacos.discovery.port=8014 ^
-e spring.cloud.nacos.discovery.prefer-ip-address=true ^
9896583d4177
# 项目2
docker run -p 8011:8011 ^
-e JAVA_OPTS="-Xmx1G -Xms1G" ^
-e spring.profiles.active=dev ^
-e NACOS_ADDR=host.docker.internal:8848 ^
-e NACOS_NAMESPACE=9608c7ba-8d56-4761-9250-ebc7a2cc153a ^
-e JAVA_VERSION=11.0.14.1 ^
-e spring.cloud.nacos.discovery.ip=192.168.103.184 ^
-e spring.cloud.nacos.discovery.port=8011 ^
-e spring.cloud.nacos.discovery.prefer-ip-address=true ^
bac84b70baec
使用host模式的注意事项:
- host优点:
- 容器可以直接访问宿主机的localhost
- 网络性能最好(没有网络隔离开销)
- 可以直接使用宿主机的Redis、Nacos等服务
- 共同注意事项:
- 容器的端口会直接映射到宿主机,不需要
-p
参数(目前是用的-p、Windows的docker host模式可能不起效果) - 确保宿主机对应端口没有被占用
- 配置中使用
localhost
或127.0.0.1
即可访问宿主机服务(Windows需要使用host.docker.internal,包括nacos配置里面也需要用这个。) - 必须使用-e spring.cloud.nacos.discovery.ip=xxx.xxx.xxx.xxx设置宿主机ip地址作为nacos注册ip地址,否则默认会注册容器内ip,导致宿主机无法访问容器