Docker如何获取MySQL镜像

87次阅读
没有评论

共计 2696 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要讲解了“Docker 如何获取 MySQL 镜像”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Docker 如何获取 MySQL 镜像”吧!

6. 基础

本节我们以运行 MySQL 实例为例,介绍基础使用。

使用  docker –help  查看支持的所有命令 6.1. 获取 MySQL 镜像

首先我们从 hub.docker.com 上获取 MySQL 镜像

这里有两种方式,一是使用  search 命令:

root@ubuntu:~# docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED 
mysql MySQL is a widely used, open-source relati... 1253 [OK] 
mariadb MariaDB is a community-developed fork of M... 280 [OK] 
mysql/mysql-server Optimized MySQL Server Docker images. Crea... 58 [OK] 
centurylink/mysql Image containing mysql. Optimized to be li... 29 [OK] 
...

另外我们也可以在网页上查询更详细的说明:

STARS  表示收藏的数量,PULLS 表示下载的数量,OFFICIAL 表示是官方镜像(此处表示是否是 MySQL 官方发布)

我们下载第一个官方的镜像

root@ubuntu:~# docker pull mysql Pulling repository mysql 196db1908492: 
Download complete 575489a51992: 
Download complete 
... 
Status: Downloaded newer image for mysql:latest

Docker 镜像的命名格式   用户名,官方镜像不需要 / 镜像名称 / 版本号 6.2. 查看本机镜像

查看本机的所有镜像

root@ubuntu:~# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
mysql 5.7 196db1908492 6 days ago 359.8 MB 
mysql 5.7.9 196db1908492 6 days ago 359.8 MB 
mysql latest 196db1908492 6 days ago 359.8 MB 
...

6.3. 运行 MySQL 镜像

运行 MySQL 镜像

root@ubuntu:~# docker run --name app1-db -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 
2dee953f85d697ffcb78ac795f06e1a22731ae373b154178ea6220ce9b9c6e04

–name  指定容器名称,-e  指定特殊的一些变量,-d  表示后台运行(服务化)6.4. 查看本机容器

查看本机的所有在运行容器

root@ubuntu:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2dee953f85d6 
mysql:5  /entrypoint.sh mysq 6 seconds ago Up 5 seconds 3306/tcp app1-db

docker ps -a  可以查看所有容器(包含没有运行的)

然后呢,怎么连接?我们需要一个 IP 和端口,但上面的运行并没有对外暴露端口,所以我们要重新运行一个容器

Docker 目前(v1.7)还不支持为容器绑定端口,如有此需求请查看如何为运行中的容器增加访问端口 6.5. 删除 MySQL 容器

我们先删除刚才的容器

root@ubuntu:~# docker rm -f app1-db app1-db

-f  表示强制删除运行中的容器
这会删除容器中的所有数据。不科学呀?那我想删除容器时保留某些数据(如这里的数据库文件)怎么办?我们往下看:

重新运行 MySQL 镜像

root@ubuntu:~# docker run --name app1-db -e MYSQL_ROOT_PASSWORD=123456 -d -p 3308:3306 -v /opt/mysql_data:/var/lib/mysql mysql:5.7 
1add96f289a1b8744500a4a6709af6e2e0628b97797e8470be75efe67e2005f4

- p 表示将外部访问的 3308 端口映射到容器的 3306 端口,由于 MySQL 镜像默认允许对外开放 3306 端口(我为什么知道?看它的 dockerfile,后面会有说明),所以也可以直接用 -P, 这样的话外部访问 3306 也被映射到容器的 3306 端口上
- v 参数可以宿主机的目录映射到将容器内目录,上例 -v /opt/mysql_data:/var/lib/mysql 会将宿主机 /opt/mysql_data 映射到容器 /var/lib/mysql(已知此目录为 MySQL 的数据目录),这样可以保证容器删除时对应目录的数据不被删除(因为这个目录是宿主机上的),这点很重要,实际使用中几乎所有容器都要做此映射!

有了端口之后那 IP 呢?IP 实际上就是你 docker 宿主机的 IP

Docker 的访问机制简单说明:Docker 所有的对外服务统一使用宿主机 IP+ 特定端口,当一个请求发起时会经由宿主面的 iptables 根据容器创建时的端口规则转发到对应的容器处理。

好了,现在我们做个连接测试,通过

6.6. 停止 / 运行 / 重启 MySQL 容器

当然我们也可以对容器做停止 / 运行 / 重启   操作:

root@ubuntu:~# docker stop app1-db app1-db 
root@ubuntu:~# docker start app1-db app1-db 
root@ubuntu:~# docker restart app1-db app1-db

感谢各位的阅读,以上就是“Docker 如何获取 MySQL 镜像”的内容了,经过本文的学习后,相信大家对 Docker 如何获取 MySQL 镜像这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2696字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)