.Net Core和DevOps系列:Mysql安装(Docker)
本系列的其他章节
使用以下命令,下载mysql的最新镜像文件
# docker pull mysql
使用以下命令,查看docker的镜像列表
# docker images
镜像下载完成后,使用以下命令启动mysql容器
# docker run -itd --restart=always -p 3306:3306 -v /etc/localtime:/etc/localtime:ro -v /home/docker_mysql/conf.d:/etc/mysql/conf.d -v /home/docker_mysql/mysql:/var/lib/mysql --name="mysql" -e MYSQL_ROOT_PASSWORD=hh1234 mysql
这里来看一下命令中使用到的各个参数含义
参数
|
描述
|
-i
|
以交互模式运行容器,通常与 -t 同时使用;
|
-t
|
为容器重新分配一个伪输入终端,通常与 -i 同时使用;
|
-d
|
后台运行容器,并返回容器ID;
|
--restart
|
容器重启策略:
no,默认策略,在容器退出时不重启容器;
on-failure,在容器非正常退出时(退出状态非0),才会重启容器;
on-failure:3,在容器非正常退出时重启容器,最多重启3次;
always,在容器退出时总是重启容器;
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。
|
-p
|
端口映射,格式为:
宿主机端口:容器端口
|
-v
|
目录挂载,格式为:
宿主机的目录:容器目录
/etc/localtime:/etc/localtime:ro 同步宿主主机和容器的时间
/home/docker_mysql/conf.d:/etc/mysql/conf.d 挂载mysql配置目录
/home/docker_mysql/mysql:/var/lib/mysql 挂载mysql数据文件目录
|
--name
|
启动的容器名称
|
-e
|
传递环境变量:
MYSQL_ROOT_PASSWORD=hh1234 初始化root用户的密码
|
使用以下命令,查询容器运行的状态(-a :显示所有的容器,包括未运行的)
# docker ps -a
容器启动后,使用以下命令进入容器内部
# docker exec -it mysql bash
使用以下命令,登入mysql
# mysql -uroot -p
你也可以使用以下命令,修改你Mysql的初始化密码
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码'';
mysql> FLUSH PRIVILEGES;
到这里Docker下安装Mysql就完成了。