- 私有仓库搭建
docker pull registry:2.4.1
# 或者如下获取,然后通过docker tag 重命名
docker pull registry.cn-beijing.aliyuncs.com/google_registry/registry:2.4.1
- 先启动预热
docker run -d -p 5000:5000 -v /home/registry:/var/lib/registry --name registry5000 registry:2.4.1
- 复制config.yml文件到指定目录/home/registry/data
docker cp 56f8f9aa2792:/etc/docker/registry/config.yml /home/registry/data
56f8f9aa2792代表启动镜像的id
- 修改config.yml文件,只增加 storage.delete.enable=true允许删除镜像
$ cat config.yml
version: 0.1
log:
fields:
service: registry
storage:
delete:
enabled: true
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
- 关闭并删除registry5000,重新启动
docker stop registry5000
docker rm registry5000
docker run -d -p 5000:5000 -v /home/registry:/var/lib/registry -v /home/registry/data/:/etc/docker/registry/ --name registry5000 registry:2.4.1
- 新建web页面查看仓库中的镜像
docker pull hyper/docker-registry-web
# 或者如下获取,然后通过docker tag 重命名
docker pull registry.cn-beijing.aliyuncs.com/google_registry/docker-registry-web:latest
docker run -d -p 8088:8080 --name registry-web --link registry5000 \
-e REGISTRY_URL=http://10.10.10.144:5000/v2 \
-e REGISTRY_TRUST_ANY_SSL=true \
-e REGISTRY_BASIC_AUTH="YWRtaW46YWRtaW4=" \
-e REGISTRY_NAME=10.10.10.144:5000 \
hyper/docker-registry-web
- 修改仓库地址
vi /etc/docker/daemon.json
内容:
{
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"],
"insecure-registries":["10.10.10.144:5000"]
}
systemctl daemon-reload
systemctl restart docker
- 使用docker-maven-plugin插件推送到仓库中心并配置
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<imageName>10.10.10.144:5000/wmms-dev/${project.artifactId}:${project.version}</imageName>
<dockerDirectory>${basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<serverId>reg-harbor</serverId>
<registryUrl>http://10.10.10.144:5000</registryUrl>
<dockerHost>http://10.10.10.144:2375</dockerHost>
</configuration>
</plugin>
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
systemctl daemon-reload && systemctl restart docker
firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
- 打包(jar)
mvn clean,mvn package
- 编写dockerfile
FROM java:8
ENV TimeZone=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone
ARG workdir=/app
VOLUME ${workdir}
WORKDIR ${workdir}
ADD tcs-web.jar app.jar
EXPOSE 8888
ENTRYPOINT ["java","-Xms512m","-Xmx512m","-Xmn512m","-XX:+UseG1GC","-XX:MaxGCPauseMillis=200", "-jar","-Dfile.encoding=UTF8","-Dsun.jnu.encoding=UTF8","app.jar"]
- 打镜像
docker build
- 推送到仓库
docker push
- 通过web查看
http://10.10.10.144:8088