Docker

本文介绍了Docker的基本概念,包括镜像、容器和仓库的作用,详细讲解了Docker常用命令,并重点阐述了数据卷在解决容器间数据交互和持久化中的关键作用。还探讨了Dockerfile的原理以及分层镜像的奥秘。
摘要由CSDN通过智能技术生成


简介

docker是一个开源的容器引擎,沙箱机制,开销低。(一种容器技术,解决软件跨环境迁移问题----比如从生产环境迁移到测试环境运维环境)

概念

  • 镜像(Image):类似root文件镜像—比如官方镜像Ubuntu
  • 容器(Container):镜像和容器的关系,类似于面向对象中的类和对象的关系。镜像是类,容器是镜像运行时的实体(对象)。我们可以创建、启动、停止删除容器。
  • 仓库(Repository):保存镜像(类比于maven中央仓库)

Docker命令
  1. 启动服务—systemctl start docker
  2. 停止服务—systemctl stop docker
  3. 重启服务—systemctl restart docker
  4. 查看状态—systemctl status docker
  5. 开机启动—systemctl enable docker

Docker容器命令
  1. 进入容器 docker exec 参数 # 退出容器,容器不会关闭
  2. 停止容器 docker stop 容器名称
  3. 启动容器 docker start 容器名称
  4. 删除容器 docker rm 容器名称
  5. 查看容器信息 docker inspect 容器名称

数据卷

数据卷是宿主机中的一个目录或文件,当容器目录和数据卷绑定后,会同步进行修改,可以被多个容器同时挂载。另外,一个容器可以挂载多个数据卷

解决了以下问题:

  1. docker容器和外部容器不能直接交换文件(通过数据卷间接)
  2. 容器之间数据交互
  3. docker容器删除后,容器中产生的数据不会销毁。

数据卷容器:

  • 创建一个容器,让它挂载一个目录,然后别的容器继承这个容器(–volume-from)
  • 这样可以简单实现数据卷配置

Mysql部署

端口映射:容器内不能和外部机器直接通信,外部机器可以和宿主机进行通信,宿主机可以和容器进行通信。这样的话,我们可以将容器内提供服务的端口(比如3306)映射到宿主机的端口上(比如3307)。外部容器访问宿主机的该端口,从而间接访问容器内的服务。


Dockerfile
docker镜像原理
  • Docker镜像本质是什么?为什么docker中的centos镜像只有200MB那么小(操作系统的iso文件要几个G)?为什么docker中的tomcat镜像有500MB那么大?
    • 分层文件系统
    • Centos中的iso镜像文件包含bootfs和rootfs,docker的centos镜像复用操作系统的bootfs,只包含rootfs和其他镜像层
    • docker中镜像是分层的,tomcat依赖于父镜像和基础镜像,所以整个看起来就很大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值