怎么搭建 Docker私仓?可惜很多人不知道

名词概念:镜像、容器、仓库

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

关于docker的一些优点和使用场景可以去docker官网查看,这里不一一列出,上述简单介绍一下几个关键名词,下面开始学习怎么使用docker。

一、编写第一个Dockerfile

举一个栗子:假如现在有一个web项目,我们需要部署到服务器上面去,并且启动可以访问。我们的思路肯定是把这个项目的war包拷贝到服务器的tomcat的webapps下面,然后将这个tomcat启动。这是没学docker之前的思路,那么现在怎么用docker容器来把这个项目跑起来呢?

我们知道学了docker以后,我们的思维发生了变化,各个应用都可以尝试用容器部署,例如tomcat、mysql、Redis等都可以用容器启动,所以我们自己的项目也是这样。容器可以理解为是镜像的一个实例化对象,所以首先需要有镜像文件,才能启动容器,那么这个镜像文件就是通过Dockfile来定制的,Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明, 简单来说就是用来定制镜像的一个规则文件。

首先用idea建了一个web项目,且打成war包后上传到服务器的某个文件夹下面,这里是放在了docker-registry-demo文件夹下面, 同时在同级目录建了一个Dockerfile文件

Dockerfile内容如下:

from tomcat:latest
copy ./docker-registry-demo.war /usr/local/tomcat/webapps/

本次dockerfile的内容特别简单,就两句话,第一句是依赖基础镜像tomcat,因为我们的项目是要在tomcat中运行的,第二句是将当前路径的war拷贝到tomcat容器的webapps下面。之后我们使用构建镜像的,命令直接构建就行了。

使用命令:docker build -t  docker-registry-demo .

注意这里的.指的是上下文路径,上下文路径是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。我们看到构建步骤一就是在发送这个上下文环境到镜像文件中,第三步的copy也是在上下文环境中找到这个war。

我们的项目已经构建成一个镜像文件了,通过docker images命令可以查看所有的镜像文件,接下来就是运行这个文件,即容器启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值