DOCKER應用

mi_zy發表於2020-03-07

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怎樣做資料備份,怎樣防止容器崩潰導致資料丟失?

Docker的特性,決定了容器本身是非持久化的,容器被刪除後其中的資料也一併被刪除了。Docker提供資料卷(Volume),通過掛載宿主機上的目錄來實現持久儲存。

但在叢集環境中,宿主機上的資料卷有很大的侷限性

  • 容器在機器間遷移時,資料無法遷移
  • 不同機器之間不能共享資料卷

為了解決這些問題,阿里雲容器服務提供第三方資料卷,將各種雲端儲存包裝成資料卷,可以直接掛載在容器上,並在容器重啟、遷移時自動重新掛載。目前支援ossfs和雲盤兩種儲存。
二所資料庫應用使用 宿主機上的資料卷滿足要求。


2、不同核心Dockers的應用

現在Docker只能執行在Linux核心的機器上。
所以在Windows或是Mac系統上,需要通過執行Linux的虛擬機器來使用Docker服務。
而Docker Toolbox提供了一整套工具,讓你在Windows或Mac系統上更快的搭建起這套環境。

Docker Toolbox 元件包括:

  • Docker Client
  • Docker Machine
  • Docker Compose (Mac only)
  • Docker Kitematic
  • VirtualBox

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 -有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, 放到 系統盤使用者目錄\.docker\machine\cache下,點選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-machine ssh default sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile 
exit 
docker-machine restart default

重啟Docker後就可以用國內的映象來加速下載了。

c)映象加速器 CentOS7 

https://yq.aliyun.com/articles/29941?spm=a2c4e.11153940.0.0.393b2a65Q4AbyL

CentOS7 的配置,需要先將預設的配置檔案複製出來
/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容器 網路梳理

mysql(docker容器): //mysql   IP:PORT : 172.17.0.2:3306

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

                                # mysqladmin -uroot -pabc

                                # mysql -uroot -pabc     //進入mysql--ok

                      mysql>GRANT ALL ON *.* TO 'sa'@'%' IDENTIFIED BY 'abc';    //不支援 IDENTIFIED BY

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

        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.


boot2docker:docker0:172.17.0.1    

                      eth0:10.0.2.15

                      eth1:192.168.99.100   //netstat -an | grep 3306   //檢視所有3306埠使用情況:OK


virtualbox:網路卡1:NAT

                 網路卡2:VirtualBox Host-Only Network #2  


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 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刪除所有容器



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2679003/,如需轉載,請註明出處,否則將追究法律責任。

相關文章