安装docker
-
Linux
-
centos7
安装命令
yum -y update yum -y install docker
卸载命令:
sudo yum remove docker \ docker-common \ container-selinux \ docker-selinux \ docker-engine
卸载
Docker
后,/var/lib/docker/
目录下会保留原Docke
r的镜像,网络,存储卷等文件. 如果需要全新安装Docker
,需要删除/var/lib/docker/
目录rm -fr /var/lib/docker/
-
Ubuntu
-
检查内核
uname -r
确保内核版本大于3.10
-
系统更新
apt-get update
-
安装
apt-get install -y docker.io
-
检查安装是否成功
docker version
-
-
-
Windows
-
Mac
-
windows
-
linux
-
mac
常用命令
- 启动Docker虚拟机
service docker start
- 停止Docker虚拟机
service docker stop
- 重启Docker虚拟机
service docker restart
- 查看所有运行或者不运行容器
docker ps -a
- 查看当前有些什么images
docker images
- 删除images(镜像),通过image的id来指定删除谁
docker rmi <image id>
- 停止、启动、杀死、重启一个容器
docker stop Name或者ID docker start Name或者ID docker kill Name或者ID docker restart name或者ID
MySQL安装与使用
拉取镜像
- 拉取官方镜像(我们这里选择最新版本,如果不写后面的版本号则会自动拉取最新版,可以根据需求拉取对应版本)
docker pull mysql:5.7 # 拉取 mysql 5.7 # 本文执行此条命令 docker pull mysql # 拉取最新版mysql镜像()
- 检查是否拉取成功
docker images
运行MySQL
-
一般来说数据库容器不需要建立目录映射
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
- –name:容器名,此处命名为mysql
- -e:配置信息,此处配置mysql的root用户的登陆密码
- -p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-
建立目录映射
docker run -p 3306:3306 --name mysql \ -v /root/docker/mysql/conf:/etc/mysql \ -v /root/docker/mysql/mysql-files:/var/lib/mysql-files \ -v /root/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=Admin@123456 \ -d mysql
- -v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录
docker 使用mysql8镜像时加载指定的外部配置文件和存储目录,出现此类报错:
当指定了外部配置文件与外部存储路径时,也需要指定 /var/lib/mysql-files的外部目录,所以在 主机新建
/root/docker/mysql/mysql-files
目录,在启动容器时 需要加上-v /root/docker/mysql/mysql-files:/var/lib/mysql-files/
-
检查容器是否正确运行
docker container ls
- 可以看到容器ID,容器的源镜像,启动命令,创建时间,状态,端口映射信息,容器名字
连接MySQL
-
进入Docker容器本地连接MySQL
docker exec -it mysql bash
mysql -uroot -p
-
添加远程登录账户
-- 创建一个用户名为root登录ip不做限制的用户,密码为:Admin@123456 CREATE USER 'chen'@'%' IDENTIFIED BY 'Admin@123456'; -- 分配权限,*.*代表将所有的权限分配给该账户 GRANT all privileges ON *.* TO 'chen'@'%'; -- 刷新配置 FLUSH PRIVILEGES;
-
远程连接