首页 > 其他分享 >docker快速入门

docker快速入门

时间:2023-10-22 19:14:49浏览次数:40  
标签:容器 入门 部署 mysql 3306 镜像 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

标签:容器,入门,部署,mysql,3306,镜像,docker,快速
From: https://www.cnblogs.com/malinyan/p/17780845.html

相关文章

  • 快速莫比乌斯/沃尔什变换 (FMT/FWT)
    仅供学习。给定长度为\(2^n\)两个序列\(A,B\),设\[C_i=\sum_{j\oplusk=i}A_j\timesB_k\]分别当\(\oplus\)是or,and,xor时求出\(C\)or\[c_{i}=\sum_{j|k\ini}a_{j}b_{k}\]定义\(fwt[a]_i=\sum_{j\ini}a_j\)显然$$\begin{aligned}fwt[a]\timesf......
  • docker部署matomo网站访问统计工具
    软件安装cat/etc/redhat-release&&uname-aCentOSLinuxrelease7.8.2003(Core)Linuxcentos7-13.10.0-1127.el7.x86_64systemctlstopfirewalld&&systemctldisablefirewalldechoSELINUX=disabled>/etc/sysconfig/selinuxcp-pv/etc/sysc......
  • 【HFSS】2.入门实例:T型波导的场内分析和优化设计
    1.概述Part1:波导内场分析新建HFSS工程设计创建T型波导模型包括创建几何模型、分配边界条件和激励定义和添加变量求解设置和扫频求解频率:10GHz(一般设置为工作频率的最高频率)扫频设置:8~10GHz,插值扫频查看分析结果S参数扫频结果电场动态分析动态演示电场分布......
  • 如何创建docker容器简单教程与应用
    当今软件开发领域中,容器化技术已经成为了一种非常流行的解决方案。Docker容器是其中最受欢迎的一种。Docker容器是一种轻量级、可移植、自包含的软件打包技术,它可以将应用程序及其所有依赖项打包在一起,以便在任何地方运行。Docker容器可以在任何操作系统上运行,而不需要进行任何修改......
  • Dubbo快速入门_在本工程模块中依赖另外子模块的接口报错java找不到符号
    场景:Dubbo入门案例项目结构:三个子模块dubbodemo_interfacedubbodemo_providerdubbodemo_consumer在消费者和提供者中引入dubbodemo_interface的依赖。dubbodemo_interface中定义了一个接口HelloServicedubbodemo_provider中有HelloService的实现类dubbodemo_consumer中定......
  • Java零基础入门-赋值运算符
    前言Java是一门广泛被应用的编程语言,它被用于开发各种类型的应用程序,从桌面应用程序到企业级后端系统。对于零基础的人来说,学习Java可能会感到有些困难。本文将帮助那些没有编程经验的人了解Java的赋值运算符。摘要本文将介绍Java中赋值运算符的概念、示例以及代码方法介绍。在......
  • Java零基础入门-逻辑运算符
    前言Java是一种广泛应用的编程语言,在在这里插入代码片软件开发中有着重要的地位。本文将介绍Java中的逻辑运算符及其在程序设计中的应用,希望能够帮助零基础的读者更好地入门学习Java。摘要本文将介绍Java中的三种逻辑运算符:与运算符(&&)、或运算符(||)和非运算符(!),并通过源代码......
  • Java零基础入门-关系运算符
    前言Java作为一门广受欢迎的开发语言,其在企业级应用和移动应用开发中有着广泛的应用。如果你是一个Java零基础的初学者,那么你来到了一个正确的地方。在本篇文章中,我们会详细介绍Java中的关系运算符,帮助你快速入门。摘要本文主要介绍Java中的关系运算符。关系运算符用于比较两个......
  • Spring Boot中的过滤器、拦截器、监听器技巧汇总:让你快速成为大神
    环境说明:Windows10+Idea2021.3.2+Jdk1.8+SpringBoot2.3.1.RELEASE前言在Web应用程序中,我们经常需要处理请求和响应。有时,我们需要应用于所有请求和响应的通用逻辑。这就是过滤器、拦截器和监听器的用武之地。它们可以帮助我们在请求和响应被处理之前或之后执行一些通用逻......
  • sql自学网入门视频
    col:列,每一个列都有一个列名、在写查询的时候,selectcol,colfromtablewhere条件在进行运算的时候是1.先from子句(找到数据源)2.where子句(计算数据的范围)3.select子句(列出查询出来表的列)。我们写sql的时候需要遵守这三步,有助于我们逻辑清晰复杂查询的步骤复杂查询的难......