最近想学习docker容器技术,从而把mysql数据库和tomcat服务器放到容器内,达到项目从容器内启动的目的
以下概念来自各大it网站,只为学习使用,侵删!
https://www.cnblogs.com/pwc1996/p/5425234.html
docker介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 (来自百科)
初期入门看的某个教程,里面讲的不是很详细,有很多坑,好在一路跌跌撞撞走过来了.
本机的操作系统是windows
win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
docker toolbox 是一个工具集,它主要包含以下一些内容:
Docker CLI 客户端,用来运行docker引擎创建镜像和容器
Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
Docker Compose. 用来运行docker-compose命令
Kitematic. 这是Docker的GUI版本
Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
Oracle VM Virtualbox. 虚拟机
docker的安装
下载完成之后直接点击安装,安装成功后,桌边会出现三个图标,入下图所示:
报错:
docker在第一次启动的时候会创建一个名字叫default的虚拟机.但是在另一台机器上出现这个问题还没解决
https://www.cnblogs.com/canger/p/9028723.html
选择Docker quickstart进入,docker会自动检测最新版本并进行更新,速度较慢,如果不想更新,可以先断网等到检测完毕再联网
如果没有开启硬件虚拟化的朋友会报错,联想电脑在开机出现lenovo图标后连续按f2,选择到Intel Virtual Technology,如果是disabled状态按就f5把它变成enabled,最后按f10,选yes就行了.
再次打开Docker quickstart进入容器
接下来介绍一些基本指令
docker ps显示正在运行的容器
docker ps -a显示所有的容器(包括运行和停用的)
docker images显示所有的镜像
安装部署mysql
第一步,拉取MySQL镜像
查找Docker Hub上的mysql镜像
宿主机名@xxx~$ docker search mysql
拉取官方的镜像,标签为5.6,如果不给出标签,那么自动拉取最新版本镜像,悲剧的我拉取了8.0...................
宿主机名@xxx~$ docker pull mysql:5.6
等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mysql,标签为5.6的镜像。
第二步,创建并启动一个MySQL容器
创建
docker run --name mysql5.6 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.6
- --name :给容器命名
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
- -d 后台运行
- 最后的参数是用到的镜像名
查看容器运行状态:docker ps
进入容器
输入的密码不可见,连*都没有,直接输入完按回车就可以了
navicate连接docker数据库
在宿主机上使用navicate客户端连接容器内的数据库
主机或ip地址:打开docker quickstart就会显示
端口号:映射的端口号,在创建容器的时候就配置了
用户名:root
密码:创建时配置的
连接成功
在你创建镜像或者创建容器时没有指定mysql版本,那么下载的是最新版本8.0,用navicate连接这个版本的数据库时会出现如下问题
https://blog.csdn.net/sdzhangshulong/article/details/81060729