系列文章导读

  1. Docker最主要的目,是为了隔离
  2. 图解Docker与传统虚拟化技术架构
  3. Docker的六项优势,让你无法拒绝
  4. “镜像、容器、仓库”Docker三兄弟,你们有什么可豪横的?
  5. 有了Docker公服、私服和加速器,谁还去下载安装包
  6. 想要不采坑,安装Docker前读一遍,千万不要习惯性忽略官方文档
  7. 你真的会卸载Docker么,我曾经也自信过
  8. 两行命令安装MySQL,Docker就是效率的化身

顺序阅读,评论区打卡,给自己仪式感,才能更好的持续积累!




docker compose mysql 两个数据库MYSQL_DATABASE_mysql哪个版本好用


Docker的安装很简单,百度一下就行了,所以略过。

本文带领大家从头到尾使用Docker安装MySQL,在实战中讲解Docker的知识点,强化记忆。

拉取镜像

Docker中有两个成对的命令,分别是docker pull 和 docker push,前者是拉取镜像,也就是从私服或公服上下载镜像到本地服务器。后者是把本地的镜像推送到私服或公服上。

docker pull mysql


docker compose mysql 两个数据库MYSQL_DATABASE_docker 启动mysql_02

docker pull 执行日志


逐行观察上图的执行日志:

  1. User default tag: latest 代表现在下载的版本是mysql的官方最新版镜像。
  2. latest: Pulling from libray/mysql 代表是从哪个仓库拉取的,这里看到的libray代表这个镜像是从Docker Hub的官方公服仓库拉取的。 如果你在内网机器上搭建一个私服,那么这行日志就会变为:latest: Pulling from 10.1.20.29:5000/mysql 是一种私服IP加端口的方式展现。
  3. xxxxx Pull complete:代表xxxx镜像拉取完毕,前文说过,镜像是一层层叠加构建的,就像搭建积木一样,所以下载的时候也会一层层下载,而xxxx这串编码就是本层镜像的ID。 (分层镜像的构建可以看此文:《“镜像、容器、仓库”Docker三兄弟,你们有什么可豪横的?》)
  4. Digest:代表镜像的签名,用于校验你下载的东西是不是赝品
  5. Status:下载状态
  6. docker.io/libray/mysql:latest 是镜像的全称

查看镜像

docker images


docker compose mysql 两个数据库MYSQL_DATABASE_mysql哪个版本好用_03

查看本机已下载的镜像


以此显示仓库名(软件名)、版本、镜像ID、创建时间、镜像大小

运行容器

运行容器类似我们new一个对象出来,它可以启动、停止、删除、销毁等等,它是一个动态概念,而镜像就好像Class,是一个静态的概念。

经过以下命令就可以成功启动MySQL

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
  1. docker run 是启动命令
  2. --name mysql 是给容器起个名字,就好像var zhangsan=new Person() ,张三就是那个名字。同一个镜像可以启动多个容器,为了区分我们就要给他们起名字。如果你不指定,则Docker引擎会自动指定一个随机的名字。
  3. -e MYSQL_ROOT_PASSWORD=root 这是在替换容器启动参数,这里设置的就是MySQL root用户的密码。记住就可以了,没必要纠结为什么一定是MYSQL_ROOT_PASSWORD这么长的变量,这是官方镜像的规范。
  4. -d 代表的是deamon,也就是后台运行、守护进程方式进行
  5. mysql:latest 代表你要使用哪个镜像来实例化容器,latest代表版本,最新版本可以不写。其他版本要写,例如mysql:5.7。 docker中的概念叫TAG, 为了方便记忆我们也可以称他们为版本。

开发人员的痛苦

很多公司并没有专门的运维岗人员,开发人员什么都做,每天都要进行多次的代码编译、构建、发布。测试、生产、预生产,环境多、频率高、效率低、出错频繁。

因此我打造了一门轻快的容器化持续集成和部署的专栏。就为了解决开发人员搭建持续集成体系,成倍的增长开发效率、学习效率。

Docker+Git+Maven+Jenkins+Pipeline流水线持续集成部署实战

开发人员也可以起飞。