目录标题
1、发布到DockerHub容器镜像仓库
(1)注册自己的DockerHub账号
DockerHub官网地址:https://hub.docker.com/
(2)登录DockerHub账号
[root@hcz666 tomcat]# docker login --help
Usage: docker login [OPTIONS] [SERVER]
Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.
Options:
-p, --password string Password
--password-stdin Take the password from stdin
-u, --username string Username
(3)在服务器上提交自定义镜像
[root@hcz666 tomcat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
diytomcat latest aeed4ed29e60 14 hours ago 669MB
[root@hcz666 tomcat]# docker push hcz/diytomcat:1.0
The push refers to repository [docker.io/hcz/diytomcat]
An image does not exist locally with the tag: hcz/diytomcat
#报错原因:
- 没有定义该镜像版本号
#解决方法:
[root@hcz666 tomcat]# docker tag aeed4ed29e60 hcz/tomcat:1.0
[root@hcz666 tomcat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hcz/tomcat 1.0 aeed4ed29e60 14 hours ago 669MB
diytomcat latest aeed4ed29e60 14 hours ago 669MB
#提交自定义镜像
[root@hcz666 tomcat]# docker push hcz/tomcat:1.0
The push refers to repository [docker.io/hcz/tomcat]
16862ce81bbb: Preparing
27021b660348: Preparing
18724d2122d2: Preparing
c5f9dc10e1e1: Preparing
2653d992f4ef: Preparing
2、发布到阿里云镜像容器仓库
(1)登录阿里云
阿里云官网地址:https://homenew.console.aliyun.com/
(2)找到容器镜像服务
(3)创建命名空间
(4)创建容器镜像
操作说明:
- 登录阿里云Docker Registry
$ docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com
- 用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。您可以在访问凭证页面修改凭证密码。
- 从Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/hcz_aliyunhub/hcz_test:[镜像版本号]
- 将镜像推送到Registry
$ docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com $ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/hcz_aliyunhub/hcz_test:[镜像版本号] $ docker push registry.cn-hangzhou.aliyuncs.com/hcz_aliyunhub/hcz_test:[镜像版本号]
- 请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
- 选择合适的镜像仓库地址
- 从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
- 如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为Registry的域名登录。
- 示例
- 使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB$ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
- 使用 “docker push” 命令将该镜像推送至远程。
$ docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
(5)虚拟机登录阿里云Docker Registry
$ docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com
(6)将镜像推送到registry
#第一步登录$ docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com
#第二步$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/hcz_aliyunhub/hcz_test:[镜像版本号]
#第三步$ docker push registry.cn-hangzhou.aliyuncs.com/hcz_aliyunhub/hcz_test:[镜像版本号]
(7)将阿里云镜像下载到本地
$ docker pull registry.cn-hangzhou.aliyuncs.com/hcz_aliyunhub/hcz_test:[镜像版本号]
(8)总结
3、SpringBoot打包Docker镜像
(1)构建SpringBoot项目
(2)打包应用
(3)编写Dockerfile文件
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
(4)构建镜像
[root@hcz666 idea]# docker build -t hczspringboot .
(5)发布运行
[root@hcz666 idea]# docker run -d -p 9090:8080 --name hcz-springboot-web hczspringboot