Docker如何獲取MySQL鏡像

這篇文章主要講解了“Docker如何獲取MySQL鏡像”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Docker如何獲取MySQL鏡像”吧!

10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有蘭西免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

6. 基礎(chǔ)

本節(jié)我們以運(yùn)行MySQL實(shí)例為例,介紹基礎(chǔ)使用。


使用 docker --help 查看支持的所有命令

6.1. 獲取MySQL鏡像

  • 首先我們從hub.docker.com上獲取MySQL鏡像

這里有兩種方式,一是使用 search命令:

root@ubuntu:~# docker search mysql NAME                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED 
mysql                      MySQL is a widely used, open-source relati...   1253      [OK]  
mariadb                MariaDB is a community-developed fork of M...   280       [OK]   
mysql/mysql-server         Optimized MySQL Server Docker images. Crea...   58                   [OK]  
centurylink/mysql          Image containing mysql. Optimized to be li...   29                   [OK]  
...

另外我們也可以在網(wǎng)頁(yè)上查詢更詳細(xì)的說明:

Docker如何獲取MySQL鏡像


STARS 表示收藏的數(shù)量,PULLS表示下載的數(shù)量,OFFICIAL表示是官方鏡像(此處表示是否是MySQL官方發(fā)布)
  • 我們下載第一個(gè)官方的鏡像

root@ubuntu:~# docker pull mysql  Pulling repository mysql 196db1908492:  
Download complete 575489a51992:  
Download complete  
...  
Status: Downloaded newer image for mysql:latest

Docker鏡像的命名格式 <用戶名,官方鏡像不需要/>鏡像名稱</版本號(hào)>

6.2. 查看本機(jī)鏡像

  • 查看本機(jī)的所有鏡像

root@ubuntu:~# docker images REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE  
mysql                  5.7                 196db1908492        6 days ago          359.8 MB  
mysql                  5.7.9               196db1908492        6 days ago          359.8 MB  
mysql                  latest              196db1908492        6 days ago          359.8 MB  
...

6.3. 運(yùn)行MySQL鏡像

  • 運(yùn)行MySQL鏡像

root@ubuntu:~# docker run --name app1-db -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7  
2dee953f85d697ffcb78ac795f06e1a22731ae373b154178ea6220ce9b9c6e04

--name 指定容器名稱,-e 指定特殊的一些變量,-d 表示后臺(tái)運(yùn)行(服務(wù)化)

6.4. 查看本機(jī)容器

  • 查看本機(jī)的所有在運(yùn)行容器

root@ubuntu:~# docker ps CONTAINER ID        IMAGE      COMMAND                CREATED             STATUS        PORTS     NAMES 2dee953f85d6         
mysql:5    "/entrypoint.sh mysq   6 seconds ago       Up 5 seconds  3306/tcp  app1-db

docker ps -a 可以查看所有容器(包含沒有運(yùn)行的)
  • 然后呢,怎么連接?我們需要一個(gè)IP和端口,但上面的運(yùn)行并沒有對(duì)外暴露端口,所以我們要重新運(yùn)行一個(gè)容器


Docker目前(v1.7)還不支持為容器綁定端口,如有此需求請(qǐng)查看如何為運(yùn)行中的容器增加訪問端口

6.5. 刪除MySQL容器

  • 我們先刪除剛才的容器

root@ubuntu:~# docker rm -f app1-db app1-db

-f 表示強(qiáng)制刪除運(yùn)行中的容器

這會(huì)刪除容器中的所有數(shù)據(jù)。不科學(xué)呀?那我想刪除容器時(shí)保留某些數(shù)據(jù)(如這里的數(shù)據(jù)庫(kù)文件)怎么辦?我們往下看:
  • 重新運(yùn)行MySQL鏡像

root@ubuntu:~# docker run --name app1-db -e MYSQL_ROOT_PASSWORD=123456 -d -p 3308:3306 -v /opt/mysql_data:/var/lib/mysql mysql:5.7  
1add96f289a1b8744500a4a6709af6e2e0628b97797e8470be75efe67e2005f4

-p表示將外部訪問的3308端口映射到容器的3306端口,由于MySQL鏡像默認(rèn)允許對(duì)外開放3306端口(我為什么知道?看它的dockerfile,后面會(huì)有說明),所以也可以直接用-P,這樣的話外部訪問3306也被映射到容器的3306端口上

-v參數(shù)可以宿主機(jī)的目錄映射到將容器內(nèi)目錄,上例-v /opt/mysql_data:/var/lib/mysql會(huì)將宿主機(jī)/opt/mysql_data映射到容器/var/lib/mysql(已知此目錄為MySQL的數(shù)據(jù)目錄),這樣可以保證容器刪除時(shí)對(duì)應(yīng)目錄的數(shù)據(jù)不被刪除(因?yàn)檫@個(gè)目錄是宿主機(jī)上的),這點(diǎn)很重要,實(shí)際使用中幾乎所有容器都要做此映射!
  • 有了端口之后那IP呢?IP實(shí)際上就是你docker宿主機(jī)的IP


Docker的訪問機(jī)制簡(jiǎn)單說明:Docker所有的對(duì)外服務(wù)統(tǒng)一使用宿主機(jī)IP+特定端口,當(dāng)一個(gè)請(qǐng)求發(fā)起時(shí)會(huì)經(jīng)由宿主面的iptables根據(jù)容器創(chuàng)建時(shí)的端口規(guī)則轉(zhuǎn)發(fā)到對(duì)應(yīng)的容器處理。
  • 好了,現(xiàn)在我們做個(gè)連接測(cè)試,通過

Docker如何獲取MySQL鏡像

6.6. 停止/運(yùn)行/重啟MySQL容器

  • 當(dāng)然我們也可以對(duì)容器做停止/運(yùn)行/重啟 操作:

root@ubuntu:~# docker stop app1-db app1-db  
root@ubuntu:~# docker start app1-db app1-db  
root@ubuntu:~# docker restart app1-db app1-db

感謝各位的閱讀,以上就是“Docker如何獲取MySQL鏡像”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Docker如何獲取MySQL鏡像這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

新聞標(biāo)題:Docker如何獲取MySQL鏡像
轉(zhuǎn)載來(lái)于:http://bm7419.com/article36/jdispg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站制作、商城網(wǎng)站網(wǎng)站導(dǎo)航、App開發(fā)、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)