• docker快速入门


    docker出现的原因

    使用linux部署项目的时候,最大的麻烦是软件的安装和部署步骤复杂,容易出错。项目部署上线的时候大概有三种方式:

    1.原生部署:什么环境软件都自己手动安装,还需要自己配置环境变量等等问题,非常麻烦(不推荐)

    2.宝塔部署:使用宝塔面板完成部署,与第一种方式相比,轻松了很多。

    3.docker部署:最方便,直接拉取镜像,创建并运行容器,忽略系统环境差异。(我个人就是因为要部署项目上线,原生部署太麻烦,宝塔面板又打不开,所以学习了docker)

    docker的几大优势:简化配置,代码流水线管理,提高开发效率,隔离应用,整合服务器 ,快速部署。

    概念介绍

    镜像:我们用docker安装应用时,docker就会先去下载镜像,将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜像

    容器:为每个镜像的应用进程创建的隔离运行环境就是容器

    镜像仓库:存储和管理镜像的服务就是镜像仓库,DockerHub是目前最大的镜像仓库,其中包含各种常见的应用镜像

    如下图,当我们在本地执行docker run命令时,docker server就会去远程的镜像仓库下载镜像,镜像拉下来后使用docker images命令可以查看本地的镜像(后面会讲到),最后运行的是由镜像创建出来的容器。

    image-20231022171229255

    部署mysql

    说明:docker的安装和配置可以参考我这两篇博客:docker的安装docker的修改镜像仓库

    使用下面的命令即可安装mysql:

    docker run -d \
      --name mysql \
      -p 3306:3306 \
      -e TZ=Asia/Shanghai \
      -e MYSQL_ROOT_PASSWORD=123456 \
      mysql
    

    命令解读:

    docker run :创建并运行一个容器,-d 是让容器在后台运行

    --name mysql :给容器起个名字,必须唯一

    -p 3306:3306 :设置端口映射

    -e KEY=VALUE :是设置环境变量

    mysql :指定运行的镜像的名字

    其中,“-p 3306:3306”中的第一个3306是指主机的端口,第二个3306是指容器的端口,如下图,由于我们不能直接访问容器的端口,所以需要先访问主机的端口,然后才能映射到容器的端口。

    image-20231022184537239

    镜像命名规范

    镜像名称一般分两部分组成:[repository]:[tag]。

    其中repository就是镜像名,tag是镜像的版本。在没有指定tag时,默认是latest,代表最新版本的镜像

    例如mysql的5.7版本的镜像是这么写的

    image-20231022184805117

  • 相关阅读:
    springcloud之gateway服务网关
    2195. 深海机器人问题(网络流,费用流,上下界可行流,网格图模型)
    Linux中断和中断处理 “上部分”
    深度解读:Apache Kafka如何超越消息引擎的界限
    .net、C#单元测试xUnit
    【无标题】BOOT SERVICES函数实现原型:
    PyTorch的张量拼接和变换
    java毕业生设计中国古诗词学习平台计算机源码+系统+mysql+调试部署+lw
    getBoundingClientRect使用场景(table固定表头)
    多路转接(上)——select
  • 原文地址:https://www.cnblogs.com/malinyan/p/17780845.html