环境准备:腾讯云轻量级服务器2核4G6M,cnetos7
先查看os版本

uname -r(版本建议是3.10及以上)

提示:安装时使用sudo或者先切换到root环境sudo -iu root

跟新yum

yum -y update

若之前安装过,需要先卸载

yum remove docker docker-common docker-selinux docker-engine

卸载完成之后可以查看下支持的docker版本

yum list docker-ce --showduplicates | sort -

选择其中的一个版本进行安装

yum -y install xxx

或者如果没有任何要求可以直接使用yum命令来安装

yum -y install docker

启动docker的命令

systemctl start docker
systemctl enable docker --设置开机自启
systemctl status docker --查看是否启动成功

过程中可以查看下docker的版本

docker -version

至此docker的安装已经完毕

docker下载安装MySQL
先修改配置

vi /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
systemctl restart docker --重启docker

拉取自己对应的镜像版本

docker pull mysql:5.7

这个时候可以看下本地都有哪些镜像

docker images

运行MySQL

docker run -p 3306:3306 --name mysql11   -di -v /mysqldata/mysql//mysql.conf.d/:/etc/mysql/mysql.conf.d/ -v /mysqldata/mysql/data/:/var/lib/mysql -v /mysqldata/mysql/log/:/var/log -e MYSQL_ROOT_PASSWORD=root mysql:5.7


docker run :在docker中启动一个容器实例
-d :该容器在后台运行
-p 3306:3306 :主机端口:容器端口
--name mysql :容器运行后的名称
-v /mysqldata/mysql/log:/var/log/mysql :将容器/var/log/mysql目录下的数据,备份到主机的/mysqldata/mysql/log目录下;
-v /mysqldata/mysql/data:/var/lib/mysql :将容器/var/lib/mysql目录下的数据,备份到主机的/mysqldata/mysql/data目录下;
-v /mysqldata/mysql/conf:/etc/mysql :将容器/etc/mysql目录下的数据,备份到主机的mysqldata/mysql/conf目录下;
-e MYSQL_ROOT_PASSWORD=root :设置当前mysql实例的密码为root;
mysql:5.7 :需要运行的容器名称及版本号

在此基础上再去配置MySQL

1)切换到上述命令配置的主机/mysqldata/mysql/conf目录下
   cd /mysqldata/mysql/conf
2)创建my.cnf
   touch my.cnf
3) 使用vim命令对my.cnf文件添加如下内容,在docker中安装的mysql默认字符集是latin1,需要改成utf8
   [client]
   default_character_set=utf8
   [mysqld]
   collation_server = utf8_general_ci
   character_set_server = utf8
4) 重启mysql容器实例,让刚才的配置文件生效
   docker restart mysql
5) 查看是否启动成功
   docker ps

若每次启动都想初始化数据库,可以使用如下的命令

mkdir /mysqldata/mysql/init
在目录下编写init.sql
docker run -d -p 3306:3306 \
--name mysql \
-v /mysqldata/mysql/log:/var/log/mysql \
-v /mysqldata/mysql/data:/var/lib/mysql \
-v /mysqldata/mysql/conf:/etc/mysql \
-v /mysqldata/mysql/init:/docker-entrypoint-initdb.d/ \
-e MYSQL_ROOT_PASSWORD=root mysql:5.7

至此docker配置MySQL也完成了

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐