SpringCloud-基础设施即服务day3-Docker上

什么是docker

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

优势
1 更高效的利用系统资源
2 更快速的启动时间
3 一致的运行环境
4 持续交付和部署
5 更轻松的迁移

Docker引擎是一种包含以下主要组件的客户端服务器应用程序 cs架构
一种服务器,他是一种称为守护进程并且长时间运行的程序
Rest API 用于绑定程序可以用来与守护进程通讯的接口,并表示它做什么
一个有命令行界面工具的客户端

分层存属

Docker架构

Docker使用客户端-服务端(C/S)架构模式,使用远程API来管理和创建Docker容器,Docker容器通过Docker镜像来创建,容器与镜像的关系类似与面向对象中间的对象和类
Docker镜像 用于创建Docker容器的模板
Docker容器 独立运行的一个或一组应用
Docker客户端 Dcoker客户端通过命令行工具使用DockerApi与他的守护进程
Dokder主机 一个物理或者虚拟的机器用于执行Docker守护进程
Docker仓库 用来保存镜像,代码仓库
Docker Machine 简化Docker安装的命令行仓库

使用脚本安装
Ubuntu安装docker大概要区分为Ubuntu14.04之前和Ubuntu14.04之后两种方法,如果是14.04版本之后的Ubuntu,其内核版本以及一些依赖包都已经准备充分,直接运行下载最新版docker即可:

apt-get install curl        //有就不需要下载
curl -fsSL get.docker.com -o get-docker. sh
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - //阿里云的安装脚本
curl -sSL https://get.daocloud.io/docker | sh  //DaoCloud 的安装脚本 我用的这个

ok!可以使用docker version 查看是否安装成功

配置镜像加速器
地址 vi /etc/docker/daemon.json 没有就创建一个
配置内容

{ 
  "registry-mirrors": ["https://registry.docker-cn.com"]  
}

重新启动docker

systemctl restart docker

docker pull tomact下载镜像tomcat

docker images 查看下载的镜像

扫描二维码关注公众号,回复: 9383392 查看本文章

docker run -p 8080:8080 tomcat 运行tomcat

使用docker镜像

镜像是docker的三大组件之一,docker运行容器之前需要本地存在对应的镜像,如果不存在,docker会从镜像仓库下载该镜像
获取镜像
docker ps 看正在运行的容器 docker -a 查看所有的容器
docker rm 容器id名 删除容器
从Docker镜像仓库中间获取镜像的命令是docker pull 其命令格式是
docker pull 镜像名
运行 docker run -it --rm (多行命令换行)
ubuntu:16.04 \
bash (sell脚本运行器)

-i 交互式操作 -t终端
–rm容器退出时主动删除
列出镜像
docker image ls 或者docker images
镜像体积
虚悬镜像
没有仓库名,也没有标签 ,全部都是none
查看 docker images -f dangling=true
删除 docker rmi $(docker images -q -f dangling=true)

删除本地镜像
docker image rm 镜像id

使用dockerfile定制镜像
dockerfile是一个文本文件,其中包含了一条一条的指令,每一条指令构建一层
以tomcat为列
第一步先改一个tomcat再说哈哈啊哈哈,由易入难
以交互的方式启动tomcat

docker run -it tomcat bash 

进入webapps/root/目录,修改index.jsp 在这个环境下面是不可以执行vi命令的,利用echo>> 追加“HELLO MY NAME IS TAN ”到index.jsp 中间,exit退出
启动tomcat docker run -p 8080:8080 tomcat

这里修改并不会看到效果,因为触发了docker的隔离机制 ,必须以交互的形式进入容器
docker exec -it 容器id bash
(docker exec -it 65507389e500 bash)重复前面操作----
结果图如下
在这里插入图片描述
继续,,,,
先把上一个容器删除 自定义镜像

1  cd /usr/local/  进入local文件
2   mkdir docker  创建docker目录
3 在docker里面创建tomcat目录 并且创建文件Dockerfile开始写脚本
FROM tomcat
RUN  

在这里插入图片描述
有一个地方写错了EXHO 改为echo

脚本内容FROM 指定基础镜像
定制镜像以一个镜像为基础,在其上面进行定制,必须是第一条指令
RUN 执行命令
执行命令行命令 格式有两种 sell RUN<命令> (尖括号是必填,中括号是选填)

写完脚本之后开始构建镜像
利用build构建 docker build -t 名字和标签 .(指定构建的目录)

在这里插入图片描述
以交互的方式进入tan docker run -it tan bash
在这里插入图片描述
在这里插入图片描述
WORKDIR 工作目录类似于cd 启动时候会直接 进入

发布了34 篇原创文章 · 获赞 19 · 访问量 1484

猜你喜欢

转载自blog.csdn.net/qq_42236003/article/details/93269769