• 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

  • 相关阅读:
    Java的序列化
    异步非阻塞python3代码
    类和对象:构造函数,析构函数与拷贝构造函数
    131.【MySQL_基础篇】
    tqdm python使用总结
    Python、PHP和Java下的反序列化漏洞复现实例
    关于el-date-picker组件修改输入框以及下拉框的样式
    【网络篇】第十篇——线程池版的TCP网络程序
    基于Java毕业设计薪酬福利管理信息系统源码+系统+mysql+lw文档+部署软件
    springboot 使用 logback日志
  • 原文地址:https://www.cnblogs.com/malinyan/p/17780845.html