docker容器运行mysql
1.获取mysql镜像
docker pull mysql:5.7 :5.7表示指定获取的mysql版本,不加则默认为最新的版本
2.运行镜像创建容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name cmysql -v /app/docker/mysql/my.cnf:/etc/mysql/my.cnf -v /app/docker/mysql/db:/var/lib/mysql mysql:5.7
各个参数说明
run:运行一个容器
-d:看做做守护线程(Daemon)
-p:进行端口映射,用于暴露给外界让其访问
-e:初始化root用户的密码
--restar=always:自动重启,比如服务器突然断电,重启服务器之后不需要你重新手动启动
--name:自定义容器名称
-v:挂载。容器里面的数据是不能直接访问的,但可以将可见目录挂载上去,这样就可以访问
启动成功之后会出现一个随机字符串,表示容器的id
3.连接容器内的mysql
step1.进入到容器内命令行: docker exec -it cName /bin/bash
cName是运行镜像时自定义的容器名称
step2:正常命令连接即可
远程连接需注意防火墙端口是否开放
ps:
docker ps 查看正在运行容器进程
docker ps -a 查看所有容器
docker stop 容器id 停止运行指定id的容器
docker rmi 镜像id 删除指定id的镜像
docker rm 容器名/id 删除容器
如何删除容器不删除数据,在创建容器的时候docker run -v host_dir:containere_dir 这样可以解决!
从主机复制到容器 sudo docker cp host_path containerID:container_path
从容器复制到主机 sudo docker cp containerID:container_path host_path