内容简介:我们都知道如果用 docker hub 来做仓库会很慢,因为docker hub 服务器在国外,那么现在有必要讲一下如何搭建一个 docker 私有仓库,并进行快速部署。官方有个镜像叫 「registry」,它可以启动一个私有仓库,获取官方 registry 镜像命令如下:将 registry 镜像 pull 到本地后,通过镜像启动一个 registry 私有库容器,私有库地址会在容器内的 /var/lib/registry 路径下,如果需要将私有库挂载在本地路径下,还需要 -v 参数:
我们都知道如果用 docker hub 来做仓库会很慢,因为docker hub 服务器在国外,那么现在有必要讲一下如何搭建一个 docker 私有仓库,并进行快速部署。
启动 registry 私有库容器
官方有个镜像叫 「registry」,它可以启动一个私有仓库,获取官方 registry 镜像命令如下:
docker pull registry
将 registry 镜像 pull 到本地后,通过镜像启动一个 registry 私有库容器,私有库地址会在容器内的 /var/lib/registry 路径下,如果需要将私有库挂载在本地路径下,还需要 -v 参数:
docker run -d -it \
-p 5000:5000 \
-v /data/registry/:/var/lib/registry \
--name myregistry registry
push 镜像到私有库
docker镜像名字命名规律:
<仓库地址>/<仓库名字>:<标签>
所以需要将本地镜像改成私有库地址的镜像:
docker tag objcoding/docker-maven-deploy:0.0.4 119.29.xxx.232:5000/docker-maven-deploy:0.0.4
Docker 默认不允许 http 方式 push 镜像,如果要用 http 来推送,则需要在 /etc/docker/ 目录下创建daemon.json,内容如下:
{
"registry-mirror": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"119.29.xxx.232:5000"
]
}
执行 push 命令:
docker push 119.29.xxx.232:5000/docker-maven-deploy:0.0.4
push 过程:
从私有库中 pull 镜像
前面我们已经将私有库挂载在本地目录了,查看一下刚刚 push 的镜像是否存在:
发现刚刚 push 的镜像已经在本地目录了,这时我们需要将它 pull 下来:
docker pull 119.29.xxx.232:5000/docker-maven-deploy:0.0.4
运行镜像:
docker run -d -p 8085:8085 --name docker-maven-deploy 127.0.0.1:5000/docker-maven-deploy:0.0.4
docker-maven-plugin
以前打包 docker 镜像的时候还要手动 docker build,现在利用 docker-maven-plugin 插件打包 docker 镜像,使打包镜像步骤进一步简化。
在 maven pom.xml 中加入 docker-maven-plugin 插件:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- objcoding/docker-maven-deploy打包后的名称,0.0.2镜像 TAG -->
<imageName>objcoding/docker-maven-deploy:0.0.2</imageName>
<!-- Dockerfile 所在路径 --><dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory>
<resources>
<resource>
<!-- target 所在路径 -->
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<!-- 打包后的 springboot jar 包文件名称 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<!-- docker仓库 -->
<!-- <serverId>my-docker-repository</serverId> -->
</configuration>
</plugin>
在 src/main/resources/docker/ 中添加 Dockerfile:
From java:8
MAINTAINER zhangchenghui zhangchenghui.dev@gmail.com
ADD docker-maven-sample-1.0-SNAPSHOT.jar /app.jar
EXPOSE 8080
ENTRYPOINT [ "java", "-jar", "app.jar" ]
在项目根目录下执行一下命令:
mvn clean install docker:build
出现以下编译后的信息:
获取 Demo 源码:
docker-deploy-tutorial [1]
References
[1]
docker-deploy-tutorial : https://github.com/objcoding/docker-deploy-tutorial
近期热文
mybatis-plus源码分析之 sql 注入器
Mybatis-spring源码分析之注册Mapper Bean
长按可以订阅
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 「Flask实战」鱼书项目实战一
- 「Flask实战」鱼书项目实战三
- 「Flask实战」鱼书项目实战四
- 「Flask实战」鱼书项目实战六
- RocketMQ实战系列从理论到实战
- 「Flask实战」flask鱼书项目实战二
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript DOM编程艺术 (第2版)
[英] Jeremy Keith、[加] Jeffrey Sambells / 杨涛、王建桥、杨晓云 等 / 人民邮电出版社 / 2011-4 / 49.00元
JavaScript是Web开发中最重要的一门语言,它强大而优美。无论是桌面开发,还是移动应用。JavaScript都是必须掌握的技术。W3C的DOM标准是开发Web应用的基石。已经得到所有现代浏览器的支持,这使得跨平台Web开发成了一件轻松惬意的事。 本书是超级畅销书的升级版,由倡导Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的必读之作。 本......一起来看看 《JavaScript DOM编程艺术 (第2版)》 这本书的介绍吧!