docker部署mysql

安装docker

这里直接手动安装,如果采用终端指令进行安装也是可以的,终端采用下面的指令:

brew install --cask --appdir=/Applications docker

手动安装需要进入Install Docker Desktop on Mac
在这里插入图片描述
这里给出了两个平台,第一个Mac with Intel chip指的是x86框架的mac本,而第二个Mac with Apple chip则指的是苹果的arm,例如最近的m1系列等等。

这里要注意区分,否则安装后由于平台不符会无法运行。

下载好后双击安装包,将docker的图标拖拽进Application文件下,就完成安装。
在这里插入图片描述
打开一个新的终端,输入下面的命令检查Docker版本,如果出现图中所示的版本说明安装成功,版本可能略有差别。

docker --version

在这里插入图片描述

镜像加速

由于国内的网络问题,很多国外源都是限速或者无法访问的,所以国内有很多三方代理源,例如科大、网易等等,这里使用网易源,如果有海外线路可以跳过。

docker安装后,在桌面上方会有图标。
在这里插入图片描述
图标 -> Preferences… 进入docker偏好设置,进入Docker Engine
初始状态应该是全出来的部分,上下红色字忽略掉。
在这里插入图片描述
增加镜像源就是要在这里增加,例如增加网易的镜像源。

"registry-mirrors": [
    "http://hub-mirror.c.163.com"
  ]

点击Apply & Resart,增加成功后就是这个样子:
在这里插入图片描述
打开一个终端,输入docker info查看,发现下面字样说明成功。
在这里插入图片描述
现在中括号里只有一个网易云的源,同样的也可以增加多个源。

Docker Hub

Docker Hub类似于镜像版本的Github,它是存储Docker镜像的仓库,同样的有已经成熟开源的镜像,像mysql、redis等等,也有自己上传的定制化镜像。
可以在Docker Hub注册自己的账号,然后通过命令行docker login,然后根据要求输入用户名和密码来完成登录Docker Hub。登录之后,如果想退出,可以通过docker logout来退出登录。
当然了,登入登出的过程在可视化界面也是可以实现的。
在这里插入图片描述
界面虽好,可不要偷懒哦,还是需要熟悉命令行工具的。

搜索镜像

类似于mac安装软件时可以使用brew search搜索目标软件,使用brew install安装目标软件。
docker可以使用dopcker search搜索官方仓库中的镜像,使用docker pull命令来下载目标镜像。

huzd@huzddeMacBook-Pro ~ % docker search mysql 
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11413     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4338      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   847                  [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   91                   
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   88                   
centurylink/mysql                 Image containing mysql. Optimized to be link…   59                   [OK]
databack/mysql-backup             Back up mysql databases to... anywhere!         49                   
prom/mysqld-exporter                                                              42                   [OK]
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                   [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   35                   
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   31                   
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   30                   [OK]
mysql/mysql-router                MySQL Router provides transparent routing be…   21                   
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   20                   
arey/mysql-client                 Run a MySQL client from a docker container      18                   [OK]
fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron tas…   16                   [OK]
yloeffler/mysql-backup            This image runs mysqldump to backup data usi…   7                    [OK]
genschsa/mysql-employees          MySQL Employee Sample Database                  7                    [OK]
openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 image…   6                    
devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offici…   3                    
ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                    [OK]
jelastic/mysql                    An image of the MySQL database server mainta…   2                    
centos/mysql-80-centos7           MySQL 8.0 SQL database server                   1                    
widdpim/mysql-client              Dockerized MySQL Client (5.7) including Curl…   1                    [OK]
vitess/mysqlctld                  vitess/mysqlctld                                1                    [OK]

输出依次为镜像名字、描述、星级(表示该镜像的受欢迎程度)、是否官方创建、是否自动创建。OFFICIAL为OK就是官方镜像。

拉取镜像

huzd@huzddeMacBook-Pro ~ % sudo docker pull mysql
Password:
Using default tag: latest
latest: Pulling from library/mysql
a330b6cecb98: Downloading 
9c8f656c32b8: Downloading 
88e473c3f553: Download complete 
062463ea5d2f: Download complete 
daf7e3bdf4b6: Download complete 
1839c0b7aac9: Downloading  2.948MB/13.45MB
cf0a0cfee6d0: Download complete 
1b42041bb11e: Download complete 
10459d86c7e6: Downloading  1.057MB/104.4MB
b7199599d5f9: Download complete 
1d6f51e17d45: Download complete 
50e0789bacad: Downloading 
latest: Pulling from library/mysql
a330b6cecb98: Pull complete 
9c8f656c32b8: Pull complete 
88e473c3f553: Pull complete 
062463ea5d2f: Pull complete 
daf7e3bdf4b6: Pull complete 
1839c0b7aac9: Pull complete 
cf0a0cfee6d0: Pull complete 
1b42041bb11e: Pull complete 
10459d86c7e6: Pull complete 
b7199599d5f9: Pull complete 
1d6f51e17d45: Pull complete 
50e0789bacad: Pull complete 
Digest: sha256:99e0989e7e3797cfbdb8d51a19d32c8d286dd8862794d01a547651a896bcf00c
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
huzd@huzddeMacBook-Pro ~ % docker images         
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        latest    0716d6ebcc1a   12 days ago   514MB
huzd@huzddeMacBook-Pro ~ % 

这里需要使用root权限哈。

推送镜像

登陆成功后,通过docker push命令可以将自己的镜像推送到Docker Hub中。
先将本地的镜像名字修改为Docker Hub账号名/镜像名

huzd@huzddeMacBook-Pro ~ % docker images                            
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        latest    0716d6ebcc1a   12 days ago   514MB
huzd@huzddeMacBook-Pro ~ % docker tag mysql qqy1997/mysql:latest
huzd@huzddeMacBook-Pro ~ % docker images                        
REPOSITORY      TAG       IMAGE ID       CREATED       SIZE
mysql           latest    0716d6ebcc1a   12 days ago   514MB
qqy1997/mysql   latest    0716d6ebcc1a   12 days ago   514MB
huzd@huzddeMacBook-Pro ~ % 

并且在UI界面中也可以看见
在这里插入图片描述
上传镜像到公共仓库

huzd@huzddeMacBook-Pro ~ % docker push qqy1997/mysql:latest
The push refers to repository [docker.io/qqy1997/mysql]
bc3da4909d75: Mounted from library/mysql 
2ecd2889304a: Mounted from library/mysql 
46bb27bfe165: Mounted from library/mysql 
16c71bbd693d: Mounted from library/mysql 
cf0cecb7358f: Mounted from library/mysql 
89638afc97cd: Mounted from library/mysql 
2eaac5532d44: Mounted from library/mysql 
35e94dafc854: Mounted from library/mysql 
97a2a3481f0d: Mounted from library/mysql 
b2830993d63a: Mounted from library/mysql 
731f7c213603: Mounted from library/mysql 
d000633a5681: Mounted from library/mysql 
latest: digest: sha256:75e71ac9b332935f396d85965213a64f1bd6fc7c42e9900b106f7af462c599b0 size: 2828
huzd@huzddeMacBook-Pro ~ % 

此时可以在官网或者桌面界面进行查看
官网:
在这里插入图片描述
软件:
在这里插入图片描述
值得注意的是,注册账号时,有个邮箱,会给发送一条验证邮件,如果一直没有去验证的话,终端上显示上传成功(实际也是真成功了),但是网站和客户端软件依然是查询不到上传的镜像的,这个时候去邮箱找到记录验证下,然后刷新下界面就会出现。

删除镜像

删除本地镜像

huzd@huzddeMacBook-Pro ~ % docker images 
REPOSITORY      TAG       IMAGE ID       CREATED       SIZE
mysql           latest    0716d6ebcc1a   12 days ago   514MB
qqy1997/mysql   latest    0716d6ebcc1a   12 days ago   514MB
huzd@huzddeMacBook-Pro ~ % docker rmi qqy1997/mysql
Untagged: qqy1997/mysql:latest
Untagged: qqy1997/mysql@sha256:75e71ac9b332935f396d85965213a64f1bd6fc7c42e9900b106f7af462c599b0
huzd@huzddeMacBook-Pro ~ % docker images           
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        latest    0716d6ebcc1a   12 days ago   514MB
huzd@huzddeMacBook-Pro ~ % 

使用docker images查看本地有多少镜像,使用docker rmi <镜像名> 删除指定镜像。
此时通过软件命令行和ui界面发现确实目标镜像被删除。
在这里插入图片描述

删除仓库镜像

上面的docker rmi <镜像名>指令只是删除本地镜像,与本地有没有login无关,而想要删除仓库镜像可以到官网找到这个镜像。
在这里插入图片描述
点击目标镜像,进入详情页。
在这里插入图片描述
点击设置(Settings),进入设置。
在这里插入图片描述
下滑可以发现Delete repository,点击就可以删除仓库内的镜像。
在这里插入图片描述
点击删除后会要求输入镜像名以防止误删。
在这里插入图片描述
操作后仓库环境会被删除。
在这里插入图片描述
在这里插入图片描述

运行Mysql

运行mysql容器

先使用docker images查看本地镜像。

huzd@huzddeMacBook-Pro ~ % docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        latest    0716d6ebcc1a   12 days ago   514MB
huzd@huzddeMacBook-Pro ~ % 

然后使用下面的命令运行容器:

docker run -p 13306:13306 --name qqy-mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root  -d mysql:latest

结果:

huzd@huzddeMacBook-Pro ~ % docker run -p 13306:13306 --name qqy-mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root  -d mysql:latest
fac1f8a847cdff3d1c475104ebd7915b5414ca9a456d7bd04f1fef20bcbf7826
huzd@huzddeMacBook-Pro ~ % 

涉及参数释义:

run                 运行一个docker容器
--name           后面这个是生成的容器的名字qqy-mysql
-p 13306:13306  表示这个容器中使用13306(第二个)映射到本机的端口号也为13306(第一个) 
-e MYSQL_ROOT_PASSWORD=root  初始化root用户的密码
-d                   表示使用守护进程运行,即服务挂在后台

查看当前docker容器的运行状态:
命令:

docker ps   : 查看运行中的容器
docker ps -a : 查看所有创建的容器

结果:

huzd@huzddeMacBook-Pro ~ % docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                                                NAMES
fac1f8a847cd   mysql:latest   "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   3306/tcp, 33060/tcp, 0.0.0.0:13306->13306/tcp, :::13306->13306/tcp   qqy-mysql
huzd@huzddeMacBook-Pro ~ % 

这里就配置好了,后面的一些配置工作会通过代码完成,再另行记录

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值