前言
使用docker安装某些软件时,一定要在docker hub中搜索该软件,docker hub会有安装、启动配置该软件的详细介绍及示例,所以我们在安装软件的时候一定要记得访问docker hub(尤其是安装自己没安装过的软件),这次我已mysql为例详细介绍一下docker安装软件流程
一、下载镜像
在docker hub中搜索mysql,就可以找到该软件页面,上面有下载命令,直接复制粘贴即可
下载命令(我这边下载的是5.7版本):```docker pull mysql:5.7``
查看镜像命令(可以查看以下载的镜像): docker images
二、根据docker hub页面示例,来配置并启动容器
1.创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)
注:因为mysql容器一旦销毁,数据库也就随之销毁,为了解决这个问题,docker官方提出了容器数据卷技术,就是在宿主机上新建一些目录与容器内的目录映射,当容器销毁时,宿主机上的目录文件不会消失,依然存在
.
新建目录命令:
# 建立宿主机数据库目录
mkdir /root/mysql/datadir
# 建立宿主机数据库配置文件
mkdir /root/mysql/conf
# 建立宿主机数据库日志目录
mkdir /root/mysql/log
2. 启动容器
启动mysql容器命令
docker run --name mysql -p 3306:3306 -v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d a70d36bc331a
参数解释
- -p 3306:3306
- 端口映射,将宿主机3306端口与容器3306端口做映射,这样就可以通过宿主机IP+端口访问容器的3306端口了
- 格式:-p 宿主机端口:容器端口
- –name mysql
- 指定容器名字为mysql,也可以不指定,不指定没有容器名字
- ** -v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql
- 数据容器卷挂载
- -v /root/mysql/datadir:/var/lib/mysql:对宿主机数据库目录与容器数据库目录进行映射挂载
- -v /root/mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载
- -v /root/mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载
- -e MYSQL_ROOT_PASSWORD=123456
- 配置mysql的root账号的密码为123456(可以根据需要自行修改密码)
- -d:后台执行
- a70d36bc331a :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过明林
docker iamges
查看镜像id
三、测试是否成功
打开一个mysql客户端如navicat进行连接测试,测试成功
四、注意
如果远程连接不上的话,有两种情况
1.如果你是云服务器,在安全组中把3306端口开放了
2.如果你是虚拟机,把防火墙关了,或者让防火墙开放3306端口