Docker搭建与使用
docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。
这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 Docker Hub 镜像站点 可以找到专属加速器地址,复制下来。
然后分开执行以下命令:
之后重新加载配置,并且重启 Docker 服务
这里推荐使用 Portainer 作为容器的 GUI 管理方案。官方地址: https://portainer.io/install.html
安装命令:
访问你的 IP:9000 即可进入容器管理页面。
名字为镜像库中的镜像名,若出现权限问题报错,前面加上sudo即可。
参数说明:
-p 3306:3306 :将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/log:/var/log/mysql :将配置文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql :将日志文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql :将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root :初始化root用户的密码
验证,查看docker下的所有进程:docker ps
docker安装的mysql,相当于linux系统中单开了一个linux专门用来安装mysql。
-p 3306:3306 :将容器的3306端口映射到主机(vagrant开启的虚拟机)的3306端口。
日志也是将经常变动数据挂载到外部linux文件夹下。
上面已经说到,将mysql容器中的配置文件挂载到本机中,所以直接修改本机目录下的配置文件即可。
防止挂载时 redis.conf找不到而在conf文件夹下再次创建名为redis.conf的文件夹,所以预先创建。
mysql之前是进入容器,现在我们直接进入客户端进行操作redis
贼好用啊,还有提示。
docker restart redis 重启redis容器后,发现之前的数据都丢失了,因为保存在内存中。所以我们需要配置持久化。
因为之前已经将容器配置文件挂载到本机目录下,所以直接修改本机redis.conf即可。
重启验证,OK。