做了几年开发了,很多 Demo 代码以及自己的一些组件库,代码总堆着不是个办法,得慢慢抽出来做成 lib,于是自己搭个私服。
但 Nexus 官方并不提供 arm 版本的容器镜像,找了下,找到了这个:klo2k/nexus3 ,开源的,我也看过 Dockerfile 了,更新了一年多,下载量也不低,相对可靠。老规矩,直接上 docker-compose 配置:
version: "3" services: nexus3: container_name: nexus3 image: klo2k/nexus3 ports: - "8085:8081" network_mode: "nas" environment: - INSTALL4J_ADD_VM_PARAMS= -Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=/nexus-data/prefs volumes: - /home/docker_data/nexus-data:/nexus-data
需要修改的地方有3个:
- network_mode: “nas”
改为自己的 network,可以使用 docker network create 进行创建。
- volumes: – /home/docker_data/nexus-data
持久化映射路径请自行修改。
- 对外暴露端口8085,可自行修改。
保存为 nexus3.yml
然后创建容器:
docker-compose -p code -f "nexus3.yml" up -d --build
启动时会报一个错:
mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied
因为这个容器的配置中 UID GID 都为200,映射的宿主用户为1000,自然权限有问题,有人说直接给 privileged 权限,我觉得大可不必,直接给映射文件夹赋权限 777 重启容器即可:
chmod 777 /home/docker_data/nexus-data
然后即可在本机8085端口访问到 Nexus3,因与官方容器的区别仅为支持 ARM64 其他配置与官方无差,可直接参考:
https://hub.docker.com/r/sonatype/nexus3/
另外我的树莓派只有 8G 内存,所以 JVM 内存配置为官方指定最低的 2703m,有一说一,这东西确实占内存而且慢。
以上。
本站由以下主机服务商提供服务支持:
0条评论