云服务器使用docker搭建mysql数据库
一,拉取mysql镜像
docker pull mysql:5.7
二,启动镜像
docker run -itd --name db1 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
--restart=always docker启动则容器启动
--network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
--name 为创建的容器命名
-i 表示以“交互模式”运行容器
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
常用【-itd】
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e 为容器设置环境变量
配置端口映射:
-p 3306:3306 --name mysql
将容器的3306端口映射到主机的3306端口
配置mysql数据卷挂载
1.-v /mydata/mysql/log:/var/log/mysql(日志文件挂载)
将容器中的日志文件夹挂载到主机对应的/var/log/mysql文件夹中
2.-v /mydata/mysql/data:/var/lib/mysql(数据文件挂载)
将容器中的数据文件夹挂载到主机对应的/var/lib/mysql文件夹中
3.-v /mydata/mysql/conf:/etc/mysql(配置文件挂载)
将容器的配置文件夹挂载到主机对应的/etc/mysql文件夹中
注(这里所提的主机指的是当前的linux主机)
配置用户
-e MYSQL_ROOT_PASSWORD=root
设置初始化root用户的密码
指定镜像资源
-d mysql:5.7
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例
三,查询容器状态,查看镜像
docker ps
docker images
四,修改mysql配置文件编码格式
修改/opt/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
character-set-server = utf8
再修改 /opt/mysql/conf.d/mysql.cnf
[mysql]
default-character-set = utf8
五,重启容器
docker restart [容器名]
六,进入容器
docker exec -it db1 mysql -uroot -proot
八,查看日志
dcoker logs [容器名或ID]