溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DOCKER應用

發布時間:2020-08-10 16:36:41 來源:ITPUB博客 閱讀:239 作者:mi_zy 欄目:MySQL數據庫

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)

DOCKER應用

* 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容器 網絡梳理

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_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: 網卡1:NAT

                     網卡2:VirtualBox Host-Only Network #2  

        ssh管理虛擬機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)

          無線網絡連接: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:添加<head><meta http-equiv="refresh" content="60"></head>   實現通播號實時更新。

4、MySQL容器使用vi   《測試OK》

    MySQL容器沒有vi,yum,但是有apt-get。

    a)更換apt源,cat /etc/os-release,查看版本Debian GNU/Linux 10,百度Debian 10 apt國內源:

  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、  數據庫在CentOS6里的名稱是mysql-server

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

    修改容器時區重啟生效:UTC-->CST         

         cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

6、dockerfile支持自定義容器的初始命令。 dockerfile不能出現交互式的命令。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女