docker实战(1)

docker搭建mysql

一,搭建docker环境

二,Docker安装mysql

1,查看mysql版本:docker search mysql

2,安装指定mysql版本或安装最新版本

docker pull mysql:5.8 或 docker pull mysql:latest

3,查看本地镜像中是否已安装好mysql镜像:docker images

4,运行容器启动mysql服务

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

说明:mysql-test表示创建的容器名,密码是:123456,默认账号是:root;需要注意的是 mysql 5.8之前的版本默认登录密码用的加密方式是:mysql_native_password,而在5.8及以后版本默认登录密码加密方式是:caching_sha2_password。所以如果再用一些客户端工具连接mysql服务时,如果连不上,报类似:Client does not support authentication protocol 错误,可能需要升级mysql客户端的驱动或者重置下mysql的登录密码加密方式。参照:客户端登录报错。

5,查看是否mysql容器安装成功:docker ps

6,进入mysql容器并进行登录

docker exec -it mysql-test mysql -uroot -p

输入密码:123456

登录成功后的界面如下:

7,mysql客户端通过服务器公网地址连接mysql

由于mysql的root账号默认设置的连接Host为localhost,所以需要将其设置成外网可访问的通用IP模式。参照:mysql连接Host问题。

在mysql容器中执行命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限:FLUSH PRIVILEGES;

注:在客户端连接mysql时,如果连接不上请检查下服务器安全组的3306端口是否开放。

8,客户端再次连接mysql服务成功

连接信息:

主机:47.103.219.189 端口:3306 账号:root 密码:123456

注:请勿删除原有库或表数据。

三,mysql集群搭建(未完待续。。)

-------------------------------------------------------------------------------------------------------------

docker搭建mongo

1,docker pull mongo:latest

参数说明:
-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
--auth:需要密码才能访问容器服务。
2, docker run -itd --name mongo -p 27017:27017 mongo --auth

3,docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

-----------------------------------------------------------------------------------------------------------

docker常见问题及解决

1,docker pull命令出现failed to register layer: rename C:\ProgramData\Docker\image\lcow\layerdb\tmp\write-s

解决:暂时禁用mcafee, 具体是在任务栏右键选择McAfee Endpoint Security, 点击“威胁防护”, 取消“访问保护“, ”“漏洞利用防护”, “按访问扫描”这3个, 然后点击上面应用按钮。

---------------

2, 当您在执行 docker ps -a 命令时遇到 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 错误,这表示 Docker 守护程序(Docker Daemon)未运行或无法访问?

systemctl status docker

systemctl start docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的Loren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值