Docker基础

Docker思想:

1、集装箱:例如:当我们想把应用部署到另外一台机器上。传统做法,人为去打包代码并copy到另外一套机器,这个过程难免会出现遗漏配置文件或者JDK版本问题等,造成应用启动失败。docker的集装箱就是为了解决这个问题。它能保证程序无论想部署到哪里都可以保证应用运行时完整。

2、标准化:

2.1:运输方式:copy应用代码通常会选择U盘copy或者飞秋等通讯工具发过去。docker的运输方式就标准化了这个过程。docker里有超级码头的概念。我们只需执行命令,将应用代码放到超级码头。再在需要部署的机器上执行一个命令就会将代码通过鲸鱼(docker logo)运输到当前机器。

2.2:存储方式:无需关心应用代码存储的地址,只需运行命令启动即可。

2.3:API接口:docker提供许多restAPI接口,来控制应用的启动,停止,查看等。传统我们启动一个程序,如果使用tomcat,则使用startUp命令停止就shutdown,但如果不是tomcat服务器,就需要使用其他的服务器的命令。有了docker只需运行同样的命令就可以控制应用。无需关心服务器差异。

3、隔离(基于linux内核限制机制lxc:轻量容器虚拟化技术):类似虚拟机,创建虚拟机时cpu,硬盘和真实主机的cpu硬盘是隔离。docker类似,但docker更加轻量,创建虚拟机可能需要几分钟,而创建docker只需几秒。

Docker解决什么问题:

1、本地运行没问题,但部署到服务器运行有问题:解决运行环境不一致导致的应用启动问题。

2、和别人公用服务器时,出现系统卡,或者莫名自己的应用挂了。linux本身就是多组库的操作系统,是可以多人公用的。docker隔离性,就解决这个问题。大家都把各自的应用放入docker里运行。docker会为每个应用隔离分配资源(CPU,硬盘..)。假如:别人的应用出现死循环的问题,导致cpu沾满,我们又同时公用一台服务器,有了docker,只是会影响他自己的应用出现问题。并不会影响我们的应用。因为docker在启动时就为每个应用限定好了,最大使用的CPU硬盘等,如果他出现问题。docker会自动把其异常的进程杀掉。

3、双11,服务器撑不住了:docker方便临时扩展服务器量,快速部署。大大减少了运维的工作量。

Docker概念:

1、镜像(Build):应用打包后的集装箱。鲸鱼上面的集装箱

2、仓库(Ship):超级码头。

3、容器(Run):运行应用的服务器。

Docker简单运行流程:

运行docker过程:去仓库(超级码头)把镜像拉到本地,然后用一条命令将应用运行起来变成容器。

Docker常见命令:

1、docker images 查看本地docker daemon中所有的镜像。

2、docker pull [name] [version](不带version则会拉取最新的版本的镜像)从镜像仓库拉取镜像。docker pull hello-word 

3、docker run [name] 运行镜像(容器)docker run hello-word   docker run -d 后台运行镜像

4、docker exec -it +容器id/名字 (t:提供一个伪终端,方便输出命令)

运行的容器可以看做一个虚拟机器,当我们查看应用运行LOG时,使用docker exec打开伪终端 

5、docker ps 查看当前机器上运行的容器。

6、docker stop 停止docker         docker restart 重启docker

7、docker build 构建一个镜像。将本地应用打包成一个镜像。

注意:

1、docker pull [name] [version] 会先从本地docker daemon中查看是否存在该镜像, 如果本地没有,则会从docker的远程仓库中拉取镜像至本地仓库。与MAVEN类似。

2、使用docker run 中默认会先运行docker pull命令。然后把镜像启动变成容器。

3、docker官方提供的镜像仓库:https://hub.docker.com/explore/(国外)  国内代理:网易蜂巢  但一般大的公司都搭建有自己的私服。搭建Docker内网私服

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值