docker的初识

1.docker的初识

1.什么是docker

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

2.docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

3.Docker 的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
  • 快速,一致地交付您的应用程序
  • 响应式部署和扩展
  • 在同一硬件上运行更多工作负载

2.docker架构的初识

1.docker的三个基本概念

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

2.镜像和容器的关系

  • Docker 容器通过 Docker 镜像来创建
  • 容器与镜像的关系类似于面向对象编程中的对象与类。
Docker面向对象
容器对象
镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6qPJwERZ-1631007774625)(01.assets/image-20210426161801377.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G6w4kGdW-1631007774632)(01.assets/image-20200929095504234.png)]

3.centos7 安装docker

1.安装一些必要的工具

yum -y install yum-utils device-mapper-persistent-data lvm2

2.添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker

yum makecache fast
yum -y install docker-ce

4.启动docker服务

systemctl start docker

5.配置阿里云镜像

1.登录阿里云官网,没有的自己注册一个

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aQXkil33-1631007774636)(01.assets/image-20210426112514371.png)]

2.点击产品,然后鼠标滑到容器与中间件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FPXZTtiX-1631007774640)(01.assets/image-20210426112614347.png)]

3.点击容器镜像服务 ACR

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vV3lb5MB-1631007774643)(01.assets/image-20210426112818786.png)]

4.点击管理控制台

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jNshMpa5-1631007774646)(01.assets/image-20210426112912025.png)]

5.点击镜像工具下的镜像加速器,找到加速地址,第一次没有自己生成一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iAEkTPHS-1631007774648)(01.assets/image-20210426112956950.png)]

6.配置加速镜像的地址

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://f8rkvwdj.mirror.aliyuncs.com"]    
}
EOF

7.重启docker

systemctl daemon-reload
systemctl restart docker

4.docker的相关命令

1.查看当前本地有哪些镜像

docker images
  • tag 版本
  • image id 镜像的id

2.搜索镜像

docker search tomcat
  • name:名称
  • description:描述
  • stars:点赞数
  • offical:是否是官方
  • automated:是否维护

3下载镜像

  • docker pull 镜像名称

  • docker pull tomcat 默认下载tomcat最新的镜像

  • docker pull tomcat:7.0.56 下载7.0.56版的tomcat镜像

docker pull tomcat:7.0.56

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Rp5VDjf-1631007774651)(01.assets/image-20210426141321244.png)]

4.删除镜像

  • docker rmi 镜像名称/镜像ID
  • 如果镜像生成的有容器,需要先删除容器才能删除镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DZxHApMJ-1631007774655)(01.assets/image-20210426141446847.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5daXaPC2-1631007774657)(01.assets/image-20210426141519298.png)]

5.docker 运行hello world

docker run hello-world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guY2xYYf-1631007774660)(01.assets/image-20210426142838351.png)]

  • 当然你也可以先下载镜像,再通过镜像运行容器
docker pull hello-world
docker run hello-world

6.通过镜像来运行一个tomcat

1.拉取tomcat镜像
docker pull tomcat:7.0.56
2.通过tomcat镜像来创建一个容器
docker run -d -p 8080:8080 --name mytomcat tomcat:7.0.56
  • -p 8080:8080 将主机的 8080 端口映射到容器的 8080 端口
  • –name mytomcat 创建容器的名称
  • 最后一个tomcat:7.0.56是镜像的名称,也可以写成镜像的id
3.在本机进行测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IVFF50Si-1631007774662)(01.assets/image-20210426144053687.png)]

4.如果出现404错误解决方式
1.查看容器的id
docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xb6PaagD-1631007774664)(01.assets/image-20210426144405152.png)]

2.进入到tomcat容器中
docker exec -it 容器ID /bin/bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsdSjvfD-1631007774667)(01.assets/image-20210426145057753.png)]

3.cp -r webapps.dist/* webapps
  • 执行以上命令,有的tomcat默认没有webapps,而是webapps.dist
4.退出容器
exit   容器停止退出
ctrl+P+Q  容器不停止退出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMdo7pyX-1631007774670)(01.assets/image-20210426145349239.png)]

5.重启容器
docker restart 容器id   //需要把防火墙打开 默认要启用iptables规则
6.再次进行测试,注意关闭防火墙
7.容器中的命令小结
  • docker ps 查看正在运行的容器

  • docker ps -all 查看所有的容器

  • docker stop 容器ID 停止容器

  • docker start 容器id 启动容器 //需要把防火墙打开 默认要启用iptables规则

  • docker restart 容器id 重启容器 //需要把防火墙打开 默认要启用iptables规则

  • docker kill 容器ID或者容器名 强制停止容器

  • docker rm 容器ID 删除已停止的容器

  • docker logs -f -t --tail n 容器ID 查看容器日志 (–tail 数字 显示最后多少条)

  • docker cp 容器ID:容器内路径 目的主机路径 从容器内拷贝文件到主机上

8.通过刚才安装tomcat 说明容器他是一个小型的centos系统,可以在上面安装并执行相关的软件

5.一个容器就是一个小型的centos系统

1.我们再次进到tomcat容器中

  • 执行命令 cd /
  • 查看目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bBrHc0Pf-1631007774673)(01.assets/image-20210426150029147.png)]

  • 这里也就说明一个容器可以看成一个小型的操作系统

2.查看是否安装了jdk

  • 由于tomcat需要安装jdk才能起作用,我们看一下tomcat容器中是否安装了jdk
  • 在tomcat容器中输入java命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9B3e4NBW-1631007774676)(01.assets/image-20210426151313136.png)]

3.因此我们可以考虑一些事情

  • 容器化技术,实际就是在一台机器上运行很多虚拟的容器
  • 这些虚拟的容器就是一台台小型的操作系统
  • 当我们运行容器的时候,它会自动帮助我们安装需要的软件
  • 需要的软件安装好后,把对应的程序给启动起来,我们就可以使用了

4.推测镜像是什么

1.我们之前先获取的tomcat镜像,可以推测一下:
  • 可能是一个shell脚本
  • 里面首先编写了安装操作系统的脚本
  • 其次编写了安装jdk的脚本
  • 最后编写了安装tomcat的脚本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值