目录
一、安装
1、拉取镜像
# 后面不加:5.7版本号,默认拉取最新的;
docker pull mysql:5.7
2、创建宿主机mysql数据存放目录
mkdir -p /root/docker/mysql/conf
mkdir -p /root/docker/mysql/data
3、创建配置文件
vim /root/docker/mysql/conf/my.cnf
[mysqld]
port=3306
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
max_allowed_packet=20971520
server_id=1
expire_logs_days=7
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
4、启动mysql容器
docker run --name mysql --privileged=true --restart=always -d \
-p 3306:3306 \
-v /root/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/mysql.cnf \
-v /root/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="123456" mysql:5.7
命令解释:
1:--name mysql:该容器启动后的名字,如果没有自己设置,系统会自动设置一个。
2:-d 代表后台启动该服务
3:-p 3306(这是liunx的端口号,也就是宿主机端口号,如果我们想要远程服务的话,访问的端口就是这个端口):3306(docker容器的端口,每一个容器都是独立的,可理解成操作系统层面的系统),访问这个端口就是先通过远程访问宿主机的端口,再映射到docker容器的端口访问mysql。
4:-e MYSQL_ROOT_PASSWORD="123456" ,这是说mysql启动需要的开机密码,默认的账号是root ,密码就是上面设置的:123456
5:-v /root/docker/mysql/data:/var/lib/mysql /root/docker/mysql/data:这是宿主机的数据存放路径,/var/lib/mysql:这是mysql容器存放数据的地方。这是是为了同步数据,防止,容器被删除以后,数据就不存在了。
6:启动成功后就返回一个容器ID
注意:
这个命令仅是第一次运行,会创建一个容器;第二次运行要使用docker start container_id命令;
二、主要命令
1、停止mysql
#先查询mysql的容器id
docker ps
#停止
docker stop container_id
2、删除容器
#在容器已经停止的情况下删除
docker rm container_id
#强制删除
docker rm -f container_id
3、查看本地所有镜像
#查看本地所有的镜像
docker images
4、进入容器命令
docker exec -it <CONTAINER_ID> /bin/bash
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
564e72c5f688 mysql:5.7 "docker-entrypoint.s…" 15 hours ago Up About a minute 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
[root@docker ~]# docker exec -it 564e72c5f688 /bin/bash
root@564e72c5f688:/#
5、查看容器日志命令
docker logs -f -t --tail=100 <CONTAINER_ID>
6、退出容器
exit