DOCKER应用


https://yq.aliyun.com/articles/40494?spm=a2c4e.11153940.0.0.2e933068PIF5zP
https://yq.aliyun.com/articles/2914?spm=a2c4e.11153940.0.0.722a1571t6wJyy(
windows上安装docker)
https://yq.aliyun.com/articles/698007?spm=a2c4e.11153940.0.0.2e933068PIF5zP1、docker怎样做数据备份,怎样防止容器崩溃导致数据丢失?Docker的特性,决定了容器本身是非持久化的,容器被删除后其中的数据也一并被删除了。Docker提供数据卷(Volume),通过挂载宿主机上的目录来实现持久存储。但在集群环境中,宿主机上的数据卷有很大的局限性为了解决这些问题,阿里云容器服务提供第三方数据卷,将各种云存储包装成数据卷,可以直接挂载在容器上,并在容器重启、迁移时自动重新挂载。目前支持ossfs和云盘两种存储。

二所数据库应用使用
宿主机上的数据卷满足要求。2、不同内核Dockers的应用现在Docker只能运行在Linux内核的机器上。

所以在Windows或是Mac系统上,需要通过运行Linux的虚拟机来使用Docker服务。

而Docker Toolbox提供了一整套工具,让你在Windows或Mac系统上更快的搭建起这套环境。Docker Toolbox 组件包括:Docker Toolbox 适用于 Mac OS X 10.10.3+ 或 Windows 7 & 8.1。
在Windows安装 docker 有两种选择 :

1、docker for windows

2、docker toolbox

区别:

docker for windows-64位Windows 10、必须开启 Hyper-V

docker toolbox -有virtualb开发云主机域名ox即可
2.1
DockerToolbox-18.03.0-ce.exe(
http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/?spm=a2c4e.11153940.0.0.2e933068PIF5zP)

*
Kitematic,这是GUI管理Docker的工具

a)
通过迅雷
下载最新
v19.03.5
版本boot2docker.iso, 放到
系统盘用户目录.dockermachinecache下,点击Docker Quickstart Terminal 图标来启动 Docker Toolbox 终端,
运行后会在Virtualbox中创建一个叫做default的虚拟机,出现
Start interactive shell提示:直接使用docker命令,也可以通过用PowerShell进行虚拟机的管理:
docker-machine ls //
Docker虚拟机的状态


docker-machine create –driver=virtualbox default //
创建一个Docker虚拟机




docker-machine env default //
获得虚拟机的环境变量





docker-machine env default | Invoke-Expression //
把当前的PowerShell和虚拟机里面的Docker Linux建立的连接,接下来就可以在PowerShell中使用docker命令.







https://developer.aliyun.com/mirror/docker-toolbox?spm=a2c6h.13651102.0.0.35dd1b11nt3EwC
b)镜像加速win7
https://yq.aliyun.com/articles/65076?spm=a2c4e.11153940.0.0.2e933068PIF5zP

需要设置独立于账号密码的Registry登录密码,便于镜像的上传、下载。
https://cr.console.aliyun.com/cn-hangzhou/new)

针对安装了Docker Toolbox的用户,参考以下配置步骤:创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。
到PowerShell中去依次执行
重启Docker后就可以用国内的镜像来加速下载了。

c)镜像加速器
CentOS7
https://yq.aliyun.com/articles/29941?spm=a2c4e.11153940.0.0.393b2a65Q4AbyLCentOS7 的配置,需要先将默认的配置文件复制出来

/lib/systemd/system/docker.service -> /etc/systemd/system/docker.service

然后再将加速器地址添加到配置文件的启动命令

重启Docker就可以了。3、
win7–
virtualbox–
boot2docker–mysql容器
网络梳理a)mysql(docker容器):
//mysql IP:PORT : 172.17.0.2:3306 ,Server version: 8.0.19 MySQL Community Server

PowerShell进入容器>docker exec -it c9bb34c9995b bash

#mysqladmin -uroot -pabc
# mysql -uroot -pabc //进入mysql–ok
问题1) mysql>GRANT ALL ON *.* TO ‘sa’@’%’ IDENTIFIED BY ‘abc’; //不支持
IDENTIFIED BY



mysql>GRANT ALL ON *.* TO ‘root’@’%’ ; //ok



问题2)SQLyog连接报错“
Authentication plugin ‘caching_sha2_password’ cannot be loaded”,
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,
之后是caching_sha2_password,



mysql>ALTER USER ‘root’@’%’ identified with mysql_native_password by ‘abc’ //
把mysql用户登录密码加密规则还原成mysql_native_password,
SQLyog连接OK.




问题3)(未验证)
使用SQL Manager Lite for MySQL导入二所备份数据库atcdb.back,报错(导出dump也报错):
Error: ERROR 2026 (HY000): SSL connection error: unknown error number




mysql>
SHOW VARIABLES LIKE ‘%ssl%’; //查看
have_ssl的值为YES,表示已开启SSL





修改配置文件my.cnf,
加入内容:
skip_ssl ,然后service mysqld restart生效,
have_ssl的值为DISABLED,表示已关闭SSL。


导入二所数据库):使用SQLyog,按SQL语句执行
导入OK。
atcdb.back是sql批处理文件。

b)boot2docker: Linux default 4.14.154-boot2docker x86_64docker0:172.17.0.1 eth0:10.0.2.15

eth2:192.168.99.100 //netstat -an | grep 3306 //查看所有3306端口使用情况:OK

vethb40b498: 没有IPv4地址



c)virtualbox: 网卡1:NAT

网卡2:VirtualBox Host-Only Network #2ssh管理虚拟机boot2docker:docker-machine ip 获取IP,或查看C:Usersmizy.dockermachinemachinesdefaultconfig.jsond)win7:VirtualBox Host-Only Network:192.168.56.1 VirtualBox Host-Only Network #2:192.168.99.1 //ping 192.168.99.100(OK);netstat -an | findstr 3306 (No)无线网络连接:DHCP

docker run -d -p
192.168.99.1:3306:3306 –name mysql -e MYSQL_ROOT_PASSWORD=‘abc’ mysql:latest //cannot assign requested IP address



docker run -d -p
192.168.99.100:3306:3306
–name mysql -e MYSQL_ROOT_PASSWORD=’abc’ mysql:latest //run OK




docker
rm

$(
docker
ps

-a -q)
//

remove删除所有容器


docker run -d --name nginx --volume nginx-vol:/usr/share/nginx/html -p 80:80 nginx:latest //nginx/html
持久化存储于
boot2docker虚拟机的/var/lib/docker/volumes/
nginx-vol/_data/目录下,
_data目录为空则容器拷贝内容,不为空容器不拷贝。自动刷新网页index.htm:添加
4、MySQL容器使用vi 《测试OK》MySQL容器没有vi,yum,但是有apt-get。a)更换apt源,cat /etc/os-release,查看版本Debian GNU/Linux 10,百度Debian 10 apt国内源:b)apt-get update //刷新缓存列表

c)apt-get install vim -y //安装vim5、 数据库在CentOS6里的名称是mysql-server

制作Docker镜像:docker commit rongqi-id phpwing:v1

修改容器时区重启生效:UTC–>CST
cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime6、dockerfile支持自定义容器的初始命令。
dockerfile不能出现交互式的命令。

相关推荐: 【MySQL】死锁案例之六

死锁,其实是一个很有意思也很有挑战的技术问题,大概每个DBA和部分开发同学都会在工作过程中遇见 。关于死锁我会持续写一个系列的案例分析,希望能够对想了解死锁的朋友有所帮助。 MySQL 5.6.24 事务隔离级别为RR sess1 sess2 begin; b…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/05 14:16
下一篇 06/05 14:16

相关推荐