Docker教程

简介

1.Docker是什么?

Docker 是一个便携的应用容器,Docker 当你需要在容器内运行自己的应用(当然可以是任何应用),Docker 都提供了一个基础系统镜像作为运行应用时的基础系统。也就是说,只要是 Linux 系统上的应用都可以运行在 Docker 中,也可以实现虚拟化。

2.Docker能干什么?

  1. 更快速的交付和部署
  2. 自动化测试和持续集成、发布。
  3. 允许实例简单、快速地扩展。

3.理解Docker

Docker,可以说是一个终端命令行的虚拟机,但更准确的说法,其实应该是一个虚拟环境。比如,你想要在PC上无缝使用Linux么?那么虚拟机并不是你唯一的出路,你还有Docker!我更愿意称Docker为一个容器,当然这只是Docker的一个狭义解释,Docker不止是一个容器。

Docker3个重要概念:

   镜像(Image)

镜像是静态的、可以被用户互相分享的文件。我们玩过双系统和虚拟机的人都知道,首先你需要一个.iso镜像,才能安装系统。Docker中的镜像也是这个东西,镜像是静态的,你不能对他操作,只能pull别人的镜像或者push自己的镜像。

   容器(Container)

镜像是静态不可操作的,只能被分享和下载,那什么是能被操作的呢?就是容器里!容器可以理解为镜像的动态状态,也就是我们虚拟机中系统装好后的状态,其实这么说是不对的,容器最符合的描述应该是Linux的iso文件的Live CD模式,比如我们玩双系统时都进入过Live CD模式,不安装系统而直接进入系统,很神奇是吧,Docker的容器就是这个概念,只不过更加轻量更加迅速便捷。但是Live CD的害处就是你关机后作出的修改安装的软件全部gg,容器也是一样,一旦被直接推出,之前安装的gcc啊vim啊啥的就会全部gg掉。如果要保存修改,就需要将当前容器封装成一个新的镜像,这样下次启动这个新的镜像后之前作出的修改还都在。

   仓库(Repository)

Docker中的仓库很像git的代码仓库,你可以pull自己之前push到自己仓库的镜像到本地,也可以pull别人push到公共仓库的镜像到自己本地。说白了就是百度云盘,你可以上传(push)自己做好环境的Docker上去,也可以下载(pull)自己云端的镜像到本地。同时,我们知道百度云最大的特点就是分享,类比Docker,如果你得到百度云分享链接(别人的镜像名字、标签和别人的用户名),你还可以下载(pull)别人分享的镜像到自己的本地,别人也可以下载(pull)你的镜像,因为Docker仓库都是公共的。当然,每个免费用户有一个名额把自己的一个镜像设为私有,也就是禁止被分享给别人,类比百度云上你自己保存的而没有被生成分享链接的资源。

入门配置

1.Ubuntu下安装

CentOS6.8安装docker

CentOS6.8在ROOT用户下用yum -y install docker命令被各种坑,无法启动,使用service docker start命令启动报“docker: 未被识别的服务”。

安装docker的时候要执行 yum -y install docker-io 而不是 yum -y install docker!!!!

sudo yum install docker-io

 

启动docker

service docker start

 

查看启动docker状态命令

sudo service docker status

将docker加入开机启动

chkconfig docker on

2.下载镜像

拉取官方最新版的ubuntu镜像

sudo docker pull ubuntu:latest

查看下载的本地镜像仓库的镜像

sudo docker imges 

3.springboot部署项目

将打包的项目jar放到lnux文件夹上,在同级目录上用touch Dockerfile 命令创建Dockerfile文件

文件里面内容为:

FROM java:8

MAINTAINER wyq

ADD springboot-helloworld-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

文件内容解释:

1、基镜像为JAVA 版本为8 ​

2、作者名字 ​

3、将项目添加到镜像中,并重命名为app.jar ​

4、运行镜像文件,监听端口为8080 ​

5、启动时运行java -jar app.jar

 

然后构建镜像

sudo docker build -t test/dockerdemo .

 

运行镜像

``` docker run -d --name dockerdemo -p 8081:8080 test/dockerdemo

```

 

然后在浏览器输入 http://127.0.0.1:8081/

 

Logo

更多推荐