Docker

一. docker装tomcat

# 官方使用

docker run -it --rm tomcat:9.0

# 我们之前启动都是后台,停止了容器之后,容器还可以查到 docker run -it --rm,一般用来测试,用完就删除

# 下载再启动

docker pull tomcat

# 启动运行

docker run -d -p 3355:8080 --name tomcat02 tomcat

# 测试访问没有问题

# 进入容器

docker exex -it tomcat02 /bin/bash

二. 部署ES+Kibana

# es暴露的端口很多

# es十分耗内存

# es的数据一般放在安全目录! 挂在载

# --net somenetwork 网络配置

# 查看CPU状态 docker stats

# 启动测试完赶紧关闭,增加内存限制,修改配置问价 -e 环境配置修改

# 镜像原理之联合文件系统

一层一层的叠加

docker镜像实际上由一层一层的文件系统构成的,这种层级的文件系统UnionFS

bootFS 黑屏 -加载 -开启

rootFS  linux不同的发行版本

# 分层的理解

docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部

这一层通常是我们说的容器层,容器之下的都叫镜像层

 

 

# 如何提交一个容器的镜像

commit 镜像

docker commit 提交容器成为一个新的副本

# 命令和git版本类似

docker commit -m="提交的描述信息" -a "作者" 容器id 目标镜像名:【TAG】

# 实战测试

1. 启动一个默认的tomcat

2. 发现这个默认的tomcat 是没有webapps应用,镜像的原因,官方的镜像默认webapps下是没有文件的!

3. 我自己拷贝进去了基本的文件

4. 将我们操作过的容器通过commit提交为一个镜像!我们以后就是用我们修改过后的镜像即可,z

如果你想要保存当前容器状态,就可以通过commit来提交,获得一个镜像,就好比以前学习VM时候,快照!

到了这里才是入门**************************************************************************************************************

三. 容器数据卷

# 什么是容器数据卷

数据丢失!需求:数据可以持久化

容器删除了,删库跑路!需求:MySQL数据可以存储在本地

容器之间有一个共享的技术! Docker容器中产生的数据同步到本地

这就是卷技术!目录挂载,容器的目录挂载到linx虚拟机上

总结为一句话:容器的持久化和同步操作!容器间也可以进行数据共享 

# 使用数据卷

方式一:直接用命令进行挂载 -v

docker run -it -v 主机目录:容器内目录

# 启动起来我们可以通过docker inspect 容器id

# 测试数据同步

再来测试!

1. 停止容器

2. 宿主机上修改文件

3. 启动容器

4. 容器内数据依旧是同步的 

好处:我们以后只需要在本地修改即可,容器内会自动同步

# 具名挂载和匿名挂载

匿名:

docker run -d -P --name nginx01 -v /etc/nginx nginx

docker volume ls 查看所有的卷的情况

具名:

# 通过 -v 卷名:容器内路径

# 查看一下这个卷

docker volume inspect juming-nginx

***建议***

使用具名挂载

# 初识DockerFile

手动创建镜像,通过命令脚本

镜像是一层一层的,命令式一行一行的

# 构建镜像

docker build -f dockerfile1 -t kuangshen/centos:1.0 .

# 文件中指令(大写 )参数

FROM centos

VOLUME ["volume01","volume02"]

CMD echo "*****end*****"

CMD /bin/bash

# 数据卷容器

多个mysql同步数据!

结论:

容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止

四. DockerFile

dockerfile 是面向开发的,以后发布项目作镜像,就需要写dockerfile文件,文件十分简单,Docker镜像逐渐成为企业交付的标准,必须掌握

DockerFile:构建文件,定义了一切的步骤,源代码

DockerImages:通过DockerFile文件构建生成镜像,最终发布和运行的产品

Docker容器:容器就是镜像运行起来提供服务器

# DockerFile指令

FROM                       # 基础镜像,一切从这里开始构建

MAINTAINER           # 镜像谁写的,姓名+邮箱

RUN                         # 镜像构建是需要运行的命令

ADD                         # 步骤,tomcat镜像,这个tomcat压缩包! 添加内容

WORKDIR               # 镜像工作目录 

VOLUME                 # 挂载的目录

EXPOSE                 # 暴露端口配置

CMD                       # 指定这个容器启动的时候要运行的命令,只有最后一个生效,可被替代

ENTRYPOINT        # 指定这个容器启动的时候要运行的命令,可以追加命令

ONBUILD               # 当构建一个被继承的 DockerFile,这个时候就会运行ONBUILD的指令,触发指令

COPY                    # 类似ADD,将我们的文件拷贝到镜像中

ENV                       # 构建的时候配置环境变量

实战测试

Docker Hub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件的配置来进行构建

# 创建一个自己的centos

五. Docker网络

六. 企业实战

七. Docker Compose

八. Docker Swarm

九. CI/CD Jenkins 流水线

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值