您好,登錄后才能下訂單哦!
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.2e933068PIF5zP
1、docker怎樣做數(shù)據(jù)備份,怎樣防止容器崩潰導(dǎo)致數(shù)據(jù)丟失?
Docker的特性,決定了容器本身是非持久化的,容器被刪除后其中的數(shù)據(jù)也一并被刪除了。Docker提供數(shù)據(jù)卷(Volume),通過掛載宿主機(jī)上的目錄來實(shí)現(xiàn)持久存儲。
但在集群環(huán)境中,宿主機(jī)上的數(shù)據(jù)卷有很大的局限性
為了解決這些問題,阿里云容器服務(wù)提供第三方數(shù)據(jù)卷,將各種云存儲包裝成數(shù)據(jù)卷,可以直接掛載在容器上,并在容器重啟、遷移時自動重新掛載。目前支持ossfs和云盤兩種存儲。
二所數(shù)據(jù)庫應(yīng)用使用
宿主機(jī)上的數(shù)據(jù)卷滿足要求。
2、不同內(nèi)核Dockers的應(yīng)用
現(xiàn)在Docker只能運(yùn)行在Linux內(nèi)核的機(jī)器上。
所以在Windows或是Mac系統(tǒng)上,需要通過運(yùn)行Linux的虛擬機(jī)來使用Docker服務(wù)。
而Docker Toolbox提供了一整套工具,讓你在Windows或Mac系統(tǒng)上更快的搭建起這套環(huán)境。
Docker Toolbox 組件包括:
Docker Toolbox 適用于 Mac OS X 10.10.3+ 或 Windows 7 & 8.1。
在Windows安裝 docker 有兩種選擇 :
1、docker for windows
2、docker toolbox
區(qū)別:
docker for windows-64位Windows 10、必須開啟 Hyper-V
docker toolbox -有virtualbox即可
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, 放到 系統(tǒng)盤用戶目錄\.docker\machine\cache下,點(diǎn)擊Docker Quickstart Terminal 圖標(biāo)來啟動 Docker Toolbox 終端,運(yùn)行后會在Virtualbox中創(chuàng)建一個叫做default的虛擬機(jī),出現(xiàn) Start interactive shell提示:直接使用docker命令,也可以通過用PowerShell進(jìn)行虛擬機(jī)的管理:
docker-machine ls // Docker虛擬機(jī)的狀態(tài)
docker-machine create --driver=virtualbox default // 創(chuàng)建一個Docker虛擬機(jī)
docker-machine env default // 獲得虛擬機(jī)的環(huán)境變量
docker-machine env default | Invoke-Expression // 把當(dāng)前的PowerShell和虛擬機(jī)里面的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
需要設(shè)置獨(dú)立于賬號密碼的Registry登錄密碼,便于鏡像的上傳、下載。( https://cr.console.aliyun.com/cn-hangzhou/new)
針對安裝了Docker Toolbox的用戶,參考以下配置步驟:
創(chuàng)建一臺安裝有Docker環(huán)境的Linux虛擬機(jī),指定機(jī)器名稱為default,同時配置Docker加速器地址。 到PowerShell中去依次執(zhí)行
docker-machine ssh default sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile exit docker-machine restart default
重啟Docker后就可以用國內(nèi)的鏡像來加速下載了。
c)鏡像加速器 CentOS7
https://yq.aliyun.com/articles/29941?spm=a2c4e.11153940.0.0.393b2a65Q4AbyL
CentOS7 的配置,需要先將默認(rèn)的配置文件復(fù)制出來
/lib/systemd/system/docker.service -> /etc/systemd/system/docker.service
然后再將加速器地址添加到配置文件的啟動命令
重啟Docker就可以了。
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo service docker restart
3、 win7-- virtualbox-- boot2docker--mysql容器 網(wǎng)絡(luò)梳理
a)mysql(docker容器): //mysql IP:PORT : 172.17.0.2:3306 ,Server version: 8.0.19 MySQL Community Server
PowerShell進(jìn)入容器>docker exec -it c9bb34c9995b bash
# mysqladmin -uroot -pabc
# mysql -uroot -pabc //進(jìn)入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”, 出現(xiàn)這個原因是mysql8 之前的版本中加密規(guī)則是mysql_native_password, 之后是caching_sha2_password,
mysql>ALTER USER 'root'@'%' identified with mysql_native_password by 'abc' // 把mysql用戶登錄密碼加密規(guī)則還原成mysql_native_password, SQLyog連接OK.
問題3)(未驗(yàn)證) 使用SQL Manager Lite for MySQL導(dǎo)入二所備份數(shù)據(jù)庫atcdb.back,報錯(導(dǎo)出dump也報錯):
Error: ERROR 2026 (HY000): SSL connection error: unknown error number
mysql> SHOW VARIABLES LIKE '%ssl%'; //查看 have_ssl的值為YES,表示已開啟SSL
修改配置文件my.cnf, 加入內(nèi)容: skip_ssl ,然后service mysqld restart生效, have_ssl的值為DISABLED,表示已關(guān)閉SSL。
導(dǎo)入二所數(shù)據(jù)庫):使用SQLyog,按SQL語句執(zhí)行 導(dǎo)入OK。 atcdb.back是sql批處理文件。
b)boot2docker: Linux default 4.14.154-boot2docker x86_64
docker0:172.17.0.1
eth0:10.0.2.15
eth2:192.168.99.100 //netstat -an | grep 3306 //查看所有3306端口使用情況:OK
vethb40b498: 沒有IPv4地址
c)virtualbox: 網(wǎng)卡1:NAT
網(wǎng)卡2:VirtualBox Host-Only Network #2
ssh管理虛擬機(jī)boot2docker:docker-machine ip 獲取IP,或查看C:\Users\mizy\.docker\machine\machines\default\config.json
d)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)
無線網(wǎng)絡(luò)連接:DHCP
docker run -d -p 192.168.99.1:3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=‘a(chǎn)bc' 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虛擬機(jī)的/var/lib/docker/volumes/
nginx-vol/_data/目錄下,
_data目錄為空則容器拷貝內(nèi)容,不為空容器不拷貝。自動刷新網(wǎng)頁index.htm:添加
<head><meta http-equiv="refresh" content="60"></head>
實(shí)現(xiàn)通播號實(shí)時更新。
4、MySQL容器使用vi 《測試OK》
MySQL容器沒有vi,yum,但是有apt-get。
a)更換apt源,cat /etc/os-release,查看版本Debian GNU/Linux 10,百度Debian 10 apt國內(nèi)源:
echo 'deb http://mirrors.163.com/debian/ buster main non-free contrib deb http://mirrors.163.com/debian/ buster-updates main non-free contrib# deb http://mirrors.163.com/debian/ buster-backports main non-free contribdeb-src http://mirrors.163.com/debian/ buster main non-free contrib# deb-src http://mirrors.163.com/debian/ buster-updates main non-free contribdeb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib' > /etc/apt/sources.list
b)apt-get update //刷新緩存列表
c)apt-get install vim -y //安裝vim
5、 數(shù)據(jù)庫在CentOS6里的名稱是mysql-server
制作Docker鏡像:docker commit rongqi-id phpwing:v1
修改容器時區(qū)重啟生效:UTC-->CST
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
6、dockerfile支持自定義容器的初始命令。 dockerfile不能出現(xiàn)交互式的命令。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。