首页 > 数据库 >docker入门加实战—从部署MySQL入门docker

docker入门加实战—从部署MySQL入门docker

时间:2023-10-10 21:24:38浏览次数:65  
标签:容器 入门 MySQL 3306 镜像 docker Docker

docker入门加实战—从部署MySQL入门docker

docker部署MySQL

输入如下命令:

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

部署成功截图如下:

部署成功截图

当执行命令后,Docker做的第一件事情,是去自动搜索并下载了MySQL,然后会自动部署MySQL。

而且,这种安装方式完全不用考虑运行的操作系统环境,它不仅仅在CentOS系统是这样,在Ubuntu系统、macOS系统等等,都可以使用这条命令来安装MySQL。

如果是手动安装,必须手动解决安装包不同、环境不同的、配置不同的问题!而使用Docker,这些完全就不用考虑了。原因就是Docker会自动搜索并下载MySQL。

注意:这里下载的不是安装包,而是镜像。镜像中不仅包含了MySQL本身,还包含了其运行所需要的环境、配置、系统级函数库。因此它在运行时就有自己独立的环境,就可以跨系统运行,也不需要手动再次配置环境了。这套独立运行的隔离环境我们称为容器

Docker是去哪里搜索和下载镜像的呢?这些镜像又是谁制作的呢?

Docker官方提供了一个专门管理、存储镜像的网站,并对外开放了镜像上传、下载的权利。这个网站就成了Docker镜像交流的社区:

https://hub.docker.com/

基本上我们常用的各种软件都能在这个网站上找到,我们甚至可以自己制作镜像上传上去。

像这种提供存储、管理Docker镜像的服务器,便被叫做DockerRegistry,可以翻译为镜像仓库。DockerHub网站是官方的仓库,阿里云、华为云等会提供一些第三方仓库,我们也可以搭建私有的镜像仓库。

Docker本身包含一个后台服务,我们可以利用Docker命令告诉Docker服务,帮助我们快速部署指定的应用。Docker服务部署应用时,首先要去搜索并下载应用对应的镜像,然后根据镜像创建并运行容器,应用就部署完成了。

一图以毙之:

讲解图

命令解读

我们使用了如下命令来部署MySQL:

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql
  • docker run -d :创建并运行一个容器,-d是让容器以后台进程运行;
  • --name mysql : 给容器起个名字叫mysql,可以起其他的名字;
  • -p 3306:3306 : 设置端口映射。
    • 容器是隔离的环境,外界并不能访问。但是可以将宿主机端口映射容器内到端口,当访问宿主机指定端口时,就是在访问容器内的端口了。
    • 容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。
    • 格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的3306映射到容器内的3306端口
  • -e TZ=Asia/Shanghai : 配置容器内进程运行时的一些参数
    • 格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定
    • 案例中,TZ=Asia/Shanghai是设置时区;MYSQL_ROOT_PASSWORD=123是设置MySQL默认密码
  • mysql : 设置镜像名称,Docker会根据这个名字搜索并下载镜像
    • 格式:REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号
    • 在未指定TAG的情况下,默认是最新版本,也就是mysql:latest

镜像的名称是要到DockerRegistry中寻找的,镜像运行时的配置是要参考镜像的帮助文档的,这些在DockerHub网站或者软件的官方网站中都能找到。

如果我们要安装其它软件,也可以到DockerRegistry中寻找对应的镜像名称和版本,阅读相关配置即可。

标签:容器,入门,MySQL,3306,镜像,docker,Docker
From: https://www.cnblogs.com/nicaicai/p/17755769.html

相关文章

  • Docker的安装与使用
    一、查看Linux内核与版本    空的服务器需要查看Linux内核与版本,我这里使用的是centos7.9。Docker需要运行在Centos7上要求系统64位,系统内核版本为3.10以上。    1、查看系统内核       uname -a    2、查看系统版本    ......
  • Docker安装Kibana
    环境DebianDocker一、安装kibana#查看看安装的版本dockersearchkibana#安装指定版本dockerpushkibana:8.10.2#查看是否已安装dockerimagels二、启动kibanadockerrun-d\--namekib01\--netes-net\-p5601:5601kibana:8.10.2访问http://xxxx......
  • docker搭建pypi服务,实现python包版本永久保存
    1.宿主机上安装htpasswdpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplehtpasswd2.使用htpasswd生成账户和密码htpasswd-schtpasswd.txttestuser3.拉取pypiserver镜像dockerpullpypiserver/pypiserver4.使用docker安装pypi容器4.1.创建数据卷docker......
  • Dockerfile 中的 CMD 与 ENTRYPOINT
    1、概述CMD和ENTRYPOINT指令都用于定义容器启动时执行的命令,单从功能上来看,这两个命令几乎是重复的,单独使用其中的一个就可以实现绝大多数的用例。尽管如此,它们在某些情况下具有不同的用途和优势。这篇文章旨在澄清它们的用法,以帮助你在实际应用中做出明智的选择,避免混淆。2......
  • MySql事务以及隔离级别
    MySql事务什么是事务?即为一段代码块在执行过程中同时结束并不报错,要么同时成功,要么同时失败为什么需要事务?为了考虑数据的安全性,比如转账时,付款和收款要同时成功事务怎么使用?--声明事务starttransaction;sql1,sql2,.....commit;--提交事务--如果上述代......
  • 热更新框架 XLua 入门使用
    如何将xLua加入现有项目中?(1)从 xLuaGit地址 下载源码后解压;(2)将 Assets文件夹中的全部文件,拷贝到现有项目的Assets文件夹中;(3)将Tools文件夹,拷贝到现有项目的Assets同级目录;(4)打开08_Hotfix 示例场景,如下图所示:参考文档:项目地址:https://github.com/Tencent/xLua常......
  • MySQL基础命令
    一)基础命令1)对数据库的操作1.使用use库名;2.创建createdatabase库名;3.删除dropdatabase库名;4.显示数据库,表showdatabases;showtables;2)对数据表的操作1.创建表createtable表名(字段字段类型,idint,namevarchar(32));2.删除表droptable表名;3.修改表名altertable......
  • MySQL业务用户无法修改的会话级别参数
    对于MySQL的系统参数,有些参数只能在全局级别(global)修改,有些参数能在全局和会话(session)级别修改。对于能在会话级别修改的参数,应用用户也可以在当前会话中修改需要的参数来实现不同的业务需求。比如sql_mode参数,如果不同的应用可以根据不同的需求在各自的session中进行修改。此外,......
  • 【2023年10月10日】STF60_docker_Day01(下午)
     STF60_docker_Day01(下午)容器运行先导入镜像 dockerload</home/centos-lamp.tar 给导入的镜像命名 dockertag0b8dnickistre/centos-lamp.tar 交互式运行容器一般就是临时用用,看看配置文件等等dockerrun-it镜像id或镜像名:tag版本/bin/bash或bash......
  • Docker 安装 Jenkins 系统
    超级简单原地址:https://my.oschina.net/sh021/blog/50554691、环境平台系统及工具就不多介绍说明了,大家应该都比较了解熟悉了,我就直接实操过程截图记录说明。虚拟机系统Ubuntu18.04.5 启动docker 查看安装的版本信息#dockerversion查看本地安装的镜像系统#dock......