打包docker镜像到本地
执行./mvnw package -Pdev dockerfile:build -DskipTests
如果报错:找不到或无法加载主类org.apache.maven.wrapper.MavenWrapperMain
执行: mvn -N io.takari:maven:wrapper
再次执行./mvnw package -Pdev dockerfile:build -DskipTests
执行此命令时,如果本地docker客户端未启动,也会报错, Could not build image: java.util.concurrent.ExecutionException: com.spotify.docker
启动docker客户端,执行正常。
在本地的执行docker images可以看到刚上传的镜像
push image到私服
搭建私服
拉取私服镜像
sudo docker pull registry:latest
启动私服
sudo docker run -d -p 5000:5000 --name server-registry -v /tmp/registry:/tmp/registry docker.io/registry:latest
配置私服地址
如果不配置,会报下面错误
http: server gave HTTP response to HTTPS client
修改/etc/docker/daemon.json文件(如果没有的话,就新建文件),添加以下内容
{
"insecure-registries":["114.67.87.5:5000"],
"registry-mirrors": ["https://ys1k0cd5.mirror.aliyuncs.com"]
}
修改docker客户端配置
Docker Engine添加insecure-registries内容
{
"experimental": false,
"debug": true,
"insecure-registries": [
"114.67.87.5:5000"
]
}
Resource->PROXIES添加Web Server
http://114.67.87.5:5000
如果碰到Error response from daemon: Get http://114.67.87.5:5000/v2/: EOF,可能是因为配置的地址拼写有误,我当时就Resource->PROXIES的Web Server上的地址多打了一个点
push镜像到私服
给镜像打tag
docker tag 13250d6f3cce 114.67.87.5:5000/uaa:1.0.2.0005
13250d6f3cce:IMAGE ID,可以用docker images 查看
114.67.87.5:5000:私有hub域名
abc-dev:项目名称
uaa:镜像名称
1.0.2.0005:镜像版本号
push镜像
docker push 114.67.87.5:5000/uaa:1.0.2.0005