Docker入门学习

定义:

Docker 是一种容器化技术,允许将应用及其依赖打包成一个轻量级、可移植的容器。
  • 镜像(Image):只读模板,包含运行应用所需的文件系统(如 Ubuntu + Nginx)。

  • 容器(Container):镜像的运行实例,可启动、停止、删除。

  • 仓库(Registry):存储镜像的地方(如 Docker Hub)。

用docker部署mysql

  • 用docker下载的是镜像,下载好就可以直接运行
  • 镜像可以理解成是绿色免安装的一个包,里面只具备能保证镜像对应服务运行的最小化配置。
(正常我们点击安装包安装后会有一堆新文件存储在磁盘中,我们将这些文件一块放在一个压缩内,一解压就能直接点击.exe文件启动,这个压缩包就叫绿色免安装包)
  • Docker官方维护了一个公共仓库:DockerHub,存储和管理镜像的平台,提供各种软件的镜像。
  • 镜像一次下载可以多次运行
  • 运行镜像时创建一个隔离环境,称为容器(container)。容器之间互不干扰。

部署mysql的命令解析

  • docker run 表示下载创建运行 一条龙
  • 端口映射:container内有自己独立的环境,并且不对外暴露,即外部无法直接访问container内的服务。那么我们容器中的mysql服务就无法被外界访问到了,这样不行,解决办法就是设置端口映射,3306->3306表示宿主机的3306端口映射到container内的3306端口,这样访问宿主机的3306就是访问container内的mysql服务了。
  • 我们可以启动多次mysql镜像,这样就有多个mysql容器,需要多组到3306的映射。

常见命令

  • docker run 表示 下载镜像、创建新容器、在容器中运行进程 一条龙
  • 吧停掉的容器重启,不能用docker run 这样会创建新容器,要用docker statrt。 docker statrt启动了容器内的进程,也就是启动了容器
查看容器
镜像和本地文件的相互转换
打印日志
容器内命令:

linux别名

有时输入一条命令太长太麻烦了,我们可以创建一个别名指示这条命令。具体创建别名的步骤如下:
        结果展示:

        数据挂载

        • 背景:我们如果要修改容器内的文件,十分不方便。而宿主机有着各种操作命令可以修改文件,而这些命令是容器内没有的。这时我们就想着通过挂载将容器内文件映射到宿主机目录下,然后直接在宿主机上修改文件,更加方便得多。
        • 挂载分为 数据卷挂载 目录挂载

        数据卷挂载(volume)

        • 数据卷原理:
        • 通过数据卷映射后,宿主机和容器之间的映射内容是实时同步的。
        自动同步功能展示:
        查看容器中是否有数据卷
        不推荐使用匿名挂载

        目录挂载

        用数据卷挂载的话,在宿主机中的挂载的信息只能在系统特定位置,十分不便。
        如果用目录挂载的话,就可以实现在宿主机中的挂载的信息位于自定义位置。
        如何使用目录挂载?
        在创建容器时指定要创建数据卷挂载还是目录挂载。

        自定义镜像

        镜像的结构

        镜像里面的一层层实际就是一个个压缩包。
        每个文件不是直接放到镜像里去的,而是压缩成一个个压缩包,在把压缩包们全放到镜像中,构成镜像中的层。
        镜像中有些部分总是重复的,我们如果每次构建镜像都去重复构建这部分的话,太麻烦。我们把这部分上传到镜像库中,作为基础镜像,之后每次构建相关镜像就直接从镜像库中拉取这个基础镜像,在此基础上就只需要再构建别的一些层就可以了,就方便得多。
        在拉取新镜像时,如果新镜像中的层在宿主机中已存在,那么就会用已存在的,而不会再拉取。

        Dockerfile

        构建java镜像的Dockerfile
        把重复操作抽象成基础镜像,再拉取基础镜像进行构建Dockerfile,简化操作:
        • 注意点:
        • Dockerfile文件的文件名一定只能是Dockerfile
          评论
          添加红包

          请填写红包祝福语或标题

          红包个数最小为10个

          红包金额最低5元

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

          抵扣说明:

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

          余额充值