<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Docker奪命連環(huán)15問(wèn),你能堅(jiān)持第幾問(wèn)?

          共 9416字,需瀏覽 19分鐘

           ·

          2022-10-20 16:33

          d1018be03bf4eef1b5fa90a5823d0240.webp程序員的成長(zhǎng)之路互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享? 關(guān)注


          閱讀本文大概需要 10?分鐘。

          來(lái)自:blog.csdn.net/weixin_41645135/article

          目錄

          1. 什么是Docker?
          2. Docker的應(yīng)用場(chǎng)景有哪些?
          3. Docker的優(yōu)點(diǎn)有哪些?
          4. Docker與虛擬機(jī)的區(qū)別是什么?
          5. Docker的三大核心是什么?
          6. 如何快速安裝Docker?
          7. 如何修改Docker的存儲(chǔ)位置?
          8. Docker鏡像常用管理有哪些?
          9. 如何創(chuàng)建Docker容器?
          10. Docker在后臺(tái)的標(biāo)準(zhǔn)運(yùn)行過(guò)程是什么?
          11. Docker網(wǎng)絡(luò)模式有哪些?
          12. 什么是Docker的數(shù)據(jù)卷
          13. 如何搭建Docker私有倉(cāng)庫(kù)
          14. Docker如何遷移備份?
          15. Docker如何部署MySQL?

          前言

          本文總結(jié)了Docker常見的問(wèn)題和坑,采用問(wèn)答的形式,分享給大家

          1.什么是Docker?

          • Docker 是一個(gè)開源的應(yīng)用容器引擎,基于go 語(yǔ)言開發(fā)并遵循了apache2.0 協(xié)議開源
          • Docker 是在Linux 容器里運(yùn)行應(yīng)用的開源工具,是一種輕量級(jí)的“虛擬機(jī)”
          • Docker 的容器技術(shù)可以在一臺(tái)主機(jī)上輕松為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的,可移植的,自給自足的容器
          也可以這樣形象的比喻:
          Docker 的Logo設(shè)計(jì)為藍(lán)色鯨魚,拖著許多集裝箱,鯨魚可以看作為宿主機(jī),集裝箱可以理解為相互隔離的容器,每個(gè)集裝箱中都包含自己的應(yīng)用程序。

          2.Docker的應(yīng)用場(chǎng)景有哪些?

          • Web 應(yīng)用的自動(dòng)化打包和發(fā)布。
          • 自動(dòng)化測(cè)試和持續(xù)集成、發(fā)布。
          • 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫(kù)或其他的后臺(tái)應(yīng)用。
          • 從頭編譯或者擴(kuò)展現(xiàn)有的 OpenShift 或 Cloud Foundry 平臺(tái)來(lái)搭建自己的 PaaS 環(huán)境。
          在這里我重點(diǎn)介紹下Docker作為內(nèi)部開發(fā)環(huán)境的場(chǎng)景在容器技術(shù)出現(xiàn)之前,公司往往是通過(guò)為每個(gè)開發(fā)人員提供一臺(tái)或者多臺(tái)虛擬機(jī)來(lái)充當(dāng)開發(fā)測(cè)試環(huán)境。開發(fā)測(cè)試環(huán)境一般負(fù)載較低,大量的系統(tǒng)資源都被浪費(fèi)在虛擬機(jī)本身的進(jìn)程上了。Docker容器沒有任何CPU和內(nèi)存上的額外開銷,很適合用來(lái)提供公司內(nèi)部的開發(fā)測(cè)試環(huán)境。而且由于docker鏡像可以很方便的在公司內(nèi)部分享,這對(duì)開發(fā)環(huán)境的規(guī)范性也有極大的幫助。如果要把容器作為開發(fā)機(jī)使用,需要解決的是遠(yuǎn)程登錄容器和容器內(nèi)進(jìn)程管理問(wèn)題。雖然docker的初衷是為“微服務(wù)”架構(gòu)設(shè)計(jì)的,但根據(jù)我們的實(shí)際使用經(jīng)驗(yàn),在docker內(nèi)運(yùn)行多個(gè)程序,甚至sshd或者upstart也是可行的。

          3.Docker的優(yōu)點(diǎn)有哪些?

          容器化越來(lái)越受歡迎,Docker的容器有點(diǎn)總結(jié)如下:
          • 靈活:即使是最復(fù)雜的應(yīng)用也可以集裝箱化。
          • 輕量級(jí):容器利用并共享主機(jī)內(nèi)核。
          • 可互換:可以即時(shí)部署更新和升級(jí)。
          • 便攜式:可以在本地構(gòu)建,部署到云,并在任何地方運(yùn)行。
          • 可擴(kuò)展:可以增加并白動(dòng)分發(fā)容器副本。
          • 可堆疊:可以垂直和即時(shí)堆疊服務(wù)。
          3645bb925aac7baa3b5ecd7b8ebc7373.webpDocker 是一個(gè)用于開發(fā),交付和運(yùn)行應(yīng)用程序的開放平臺(tái)。Docker 使您能夠?qū)?yīng)用程序與基礎(chǔ)架構(gòu)分開,從而可以快速交付軟件。借助 Docker,您可以與管理應(yīng)用程序相同的方式來(lái)管理基礎(chǔ)架構(gòu)。通過(guò)利用 Docker 的方法來(lái)快速交付,測(cè)試和部署代碼,您可以大大減少編寫代碼和在生產(chǎn)環(huán)境中運(yùn)行代碼之間的延遲。

          4.Docker與虛擬機(jī)的區(qū)別是什么?

          虛擬機(jī)通過(guò)添加Hypervisor層(虛擬化中間層),虛擬出網(wǎng)卡、內(nèi)存、CPU等虛擬硬件,再在其上建立虛擬機(jī),每個(gè)虛擬機(jī)都有自己的系統(tǒng)內(nèi)核。而Docker容器則是通過(guò)隔離(namesapce)的方式,將文件系統(tǒng)、進(jìn)程、設(shè)備、網(wǎng)絡(luò)等資源進(jìn)行隔離,再對(duì)權(quán)限、CPU資源等進(jìn)行控制(cgroup),最終讓容器之間互不影響,容器無(wú)法影響宿主機(jī)。與虛擬機(jī)相比,容器資源損耗要少。同樣的宿主機(jī)下,能夠建立容器的數(shù)量要比虛擬機(jī)多但是,虛擬機(jī)的安全性要比容器稍好,而docker容器與宿主機(jī)共享內(nèi)核、文件系統(tǒng)等資源,更有可能對(duì)其他容器、宿主機(jī)產(chǎn)生影響。2751d69f3ff9a97abf6b7bacfd6dd2be.webp

          5.Docker的三大核心是什么?

          鏡像
          Docker的鏡像是創(chuàng)建容器的基礎(chǔ),類似虛擬機(jī)的快照,可以理解為一個(gè)面向Docker容器引擎的只讀模板。通過(guò)鏡像啟動(dòng)一個(gè)容器,一個(gè)鏡像是一個(gè)可執(zhí)行的包,其中包括運(yùn)行應(yīng)用程序所需要的所有內(nèi)容包含代碼,運(yùn)行時(shí)間,庫(kù)、環(huán)境變量、和配置文件。Docker鏡像也是一個(gè)壓縮包,只是這個(gè)壓縮包不只是可執(zhí)行文件,環(huán)境部署腳本,它還包含了完整的操作系統(tǒng)。因?yàn)榇蟛糠值溺R像都是基于某個(gè)操作系統(tǒng)來(lái)構(gòu)建,所以很輕松的就可以構(gòu)建本地和遠(yuǎn)端一樣的環(huán)境,這也是Docker鏡像的精髓。
          容器
          Docker的容器是從鏡像創(chuàng)建的運(yùn)行實(shí)例,它可以被啟動(dòng)、停止和刪除。所創(chuàng)建的每一個(gè)容器都是相互隔離、互不可見,以保證平臺(tái)的安全性??梢园讶萜骺醋鍪且粋€(gè)簡(jiǎn)易版的linux環(huán)境(包括root用戶權(quán)限、鏡像空間、用戶空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序。
          倉(cāng)庫(kù)
          倉(cāng)庫(kù)注冊(cè)服務(wù)器上往往存放著多個(gè)倉(cāng)庫(kù),每個(gè)倉(cāng)庫(kù)中包含了多個(gè)鏡像,每個(gè)鏡像有不同標(biāo)簽(tag)。倉(cāng)庫(kù)分為公開倉(cāng)庫(kù)(Public)和私有倉(cāng)庫(kù)(Private)兩種形式。最大的公開倉(cāng)庫(kù)是 Docker Hub:https://hub.docker.com,存放了數(shù)量龐大的鏡像供用戶下載。國(guó)內(nèi)的公開倉(cāng)庫(kù)包括阿里云 、網(wǎng)易云等。

          6.如何快速安裝Docker?

          執(zhí)行以下安裝命令去安裝依賴包
              

          yum?install?-y?yum-utils?device-mapper-persistent-data?lvm2
          sudo?yum-config-manager
          –add-repo
          https://download.docker.com/linux/centos/docker-ce.repo
          [root@centos7?~]?yum?-y?install?docker-ce?docker-ce-cli?containerd.io
          [root@centos7?~]#?docker?ps?--查看docker

          0d64984cbd770cd212781dc22ff3ad97.webp
              

          [root@centos7?~]#?systemctl?enable?docker
          [root@centos7?~]#?systemctl?start?docker
          [root@centos7?~]#?systemctl?status?docker
          [root@centos7?~]#?docker?ps?--查看容器
          [root@centos7?~]#?docker?version?--查看版本
          [root@centos7?~]#?docker?info?--查看版本

          7.如何修改Docker的存儲(chǔ)位置?

          默認(rèn)情況下 Docker的存放位置為:/var/lib/docker可以通過(guò)命令查看具體位置:docker info | grep “Docker Root Dir”
          修改到其它目錄
          首先停掉 Docker 服務(wù):
              systemctl?stop?docker
          然后移動(dòng)整個(gè)/var/lib/docker 目錄到目的路徑
              

          mkdir?-p?/root/data/docker
          mv?/var/lib/docker?/root/data/docker
          ln?-s?/root/data/docker?/var/lib/docker?--快捷方式

          8.Docker鏡像常用管理有哪些?

          快速檢索鏡像
          格式:docker search?關(guān)鍵字
          獲取鏡像
          格式:docker ? pull?? 倉(cāng)庫(kù)名稱[:標(biāo)簽] 如果下載鏡像時(shí)不指定標(biāo)簽,則默認(rèn)會(huì)下載倉(cāng)庫(kù)中最新版本的鏡像,即選擇標(biāo)簽為 latest 標(biāo)簽
          查看鏡像信息
          鏡像下載后默認(rèn)存放在?/var/lib/docker
          • REPOSITORY: 鏡像所屬倉(cāng)庫(kù)
          • TAG: 鏡像的標(biāo)簽信息,標(biāo)記同一個(gè)倉(cāng)庫(kù)中的不同鏡像
          • IMAGE ID?:鏡像的唯一ID號(hào),唯一標(biāo)識(shí)一個(gè)鏡像
          • CREATED: 鏡像創(chuàng)建時(shí)間
          • SIZE: 鏡像大小
          d65178a5674fdb74ad6ec36fdae130c9.webp
          獲取鏡像的詳細(xì)信息
          格式:docker ? inspect?? 鏡像ID號(hào)鏡像ID 號(hào)可以不用打全。597a59e63c84411efdcc1129029f5ff3.webp
          為本地鏡像添加新的標(biāo)簽
          格式:docker ? tag ?名稱:[ 標(biāo)簽]
          刪除鏡像
          格式1:docker ? rmi ? 倉(cāng)庫(kù)名稱:標(biāo)簽當(dāng)一個(gè)鏡像有多個(gè)標(biāo)簽時(shí),只是刪除其中指定的標(biāo)簽格式2:?docker ? rmi ?鏡像ID ?[-f]如果該鏡像已經(jīng)被容器使用,正確的做法是先刪除依賴該鏡像的所有容器,再去刪除鏡像
          將鏡像保存為本地文件
          格式:docker ? save ? -o ?存儲(chǔ)文件名 ? 存儲(chǔ)的鏡像
              

          [root@localhost?~]#?docker?save?-o?/opt/nginx.tar?nginx:latest
          #將本地鏡像傳給另一臺(tái)主機(jī)
          [root@localhost?~]#?scp?/opt/nginx.tar?192.168.1.54:/opt

          9.如何創(chuàng)建Docker容器?

              

          #docker?images???--鏡像
          docker?run?-d?--name?centos7.8?-h?centos7.8?\
          -p?220:22?-p?3387:3389?\
          --privileged=true?\
          centos:7.8.2003?/usr/sbin/init

          #我想擁有一個(gè)?linux?8.2?的環(huán)境
          docker?run?-d?--name?centos8.2?-h?centos8.2?\
          -p?230:22?-p?3386:3389?\
          --privileged=true?\
          daocloud.io/library/centos:8.2.2004?init

          #?進(jìn)入容器
          docker?exec?-it?centos7.8bash
          docker?exec?-it?centos8.2?bash
          cat?/etc/redhat-release????--查看系統(tǒng)版本

          10.Docker在后臺(tái)的標(biāo)準(zhǔn)運(yùn)行過(guò)程是什么?

          當(dāng)利用?docker run?來(lái)創(chuàng)建容器時(shí), Docker 在后臺(tái)的標(biāo)準(zhǔn)運(yùn)行過(guò)程是:
          • 檢查本地是否存在指定的鏡像。當(dāng)鏡像不存在時(shí),會(huì)從公有倉(cāng)庫(kù)下載;
          • 利用鏡像創(chuàng)建并啟動(dòng)一個(gè)容器;
          • 分配一個(gè)文件系統(tǒng)給容器,在只讀的鏡像層外面掛載一層可讀寫層;
          • 從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬機(jī)接口到容器中;
          • 分配一個(gè)地址池中的 IP 地址給容器;
          • 執(zhí)行用戶指定的應(yīng)用程序,執(zhí)行完畢后容器被終止運(yùn)行。

          11.Docker網(wǎng)絡(luò)模式有哪些?

          host模式
          host 模式 :使用?--net=host?指定相當(dāng)于VMware 中的橋接模式,與宿主機(jī)在同一個(gè)網(wǎng)絡(luò)中,但是沒有獨(dú)立IP地址Docker 使用了Linux 的Namespace 技術(shù)來(lái)進(jìn)行資源隔離,如PID Namespace隔離進(jìn)程,Mount Namespace隔離文件系統(tǒng),Network Namespace?隔離網(wǎng)絡(luò)等。一個(gè)Network Namespace?提供了一份獨(dú)立的網(wǎng)絡(luò)環(huán)境,包括網(wǎng)卡,路由,iptable 規(guī)則等都與其他Network Namespace?隔離。一個(gè)Docker 容器一般會(huì)分配一個(gè)獨(dú)立的Network Namespace但是如果啟動(dòng)容器的時(shí)候使用host 模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的Network Namespace?,而是和宿主機(jī)共用一個(gè)Network Namespace?。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口.此時(shí)容器不再擁有隔離的、獨(dú)立的網(wǎng)絡(luò)棧。不擁有所有端口資源6400a04d25a6a3a30f5107ffc6b43816.webp
          container模式
          container模式:使用–net=contatiner:NAME_or_ID?指定這個(gè)模式指定新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一個(gè)Network Namespace,而不是和宿主機(jī)共享。新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的IP,而是和一個(gè)指定的容器共享IP,端口范圍等。?可以在一定程度上節(jié)省網(wǎng)絡(luò)資源,容器內(nèi)部依然不會(huì)擁有所有端口。同樣,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng),進(jìn)程列表等還是隔離的。兩個(gè)容器的進(jìn)程可以通過(guò)lo網(wǎng)卡設(shè)備通信d76f005808ec710dba313ed33a98d756.webp
          none 模式
          none模式:使用?--net=none指定使用none 模式,docker 容器有自己的network Namespace?,但是并不為Docker 容器進(jìn)行任何網(wǎng)絡(luò)配置。也就是說(shuō),這個(gè)Docker 容器沒有網(wǎng)卡,ip, 路由等信息。這種網(wǎng)絡(luò)模式下,容器只有l(wèi)o 回環(huán)網(wǎng)絡(luò),沒有其他網(wǎng)卡。這種類型沒有辦法聯(lián)網(wǎng),但是封閉的網(wǎng)絡(luò)能很好的保證容器的安全性該容器將完全獨(dú)立于網(wǎng)絡(luò),用戶可以根據(jù)需要為容器添加網(wǎng)卡。此模式擁有所有端口。(none網(wǎng)絡(luò)模式配置網(wǎng)絡(luò))特殊情況下才會(huì)用到,一般不用
          bridge 模式
          相當(dāng)于Vmware中的 nat 模式,容器使用獨(dú)立network Namespace,并連接到docker0虛擬網(wǎng)卡。通過(guò)docker0網(wǎng)橋以及iptables nat表配置與宿主機(jī)通信,此模式會(huì)為每一個(gè)容器分配Network Namespace、設(shè)置IP等,并將一個(gè)主機(jī)上的 Docker 容器連接到一個(gè)虛擬網(wǎng)橋上。當(dāng)Docker進(jìn)程啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一個(gè)名為docker0的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的Docker容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過(guò)交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。從docker0子網(wǎng)中分配一個(gè)IP給容器使用,并設(shè)置docker0的IP地址為容器的默認(rèn)網(wǎng)關(guān)。在主機(jī)上創(chuàng)建一對(duì)虛擬網(wǎng)卡veth pair設(shè)備。veth設(shè)備總是成對(duì)出現(xiàn)的,它們組成了一個(gè)數(shù)據(jù)的通道,數(shù)據(jù)從一個(gè)設(shè)備進(jìn)入,就會(huì)從另一個(gè)設(shè)備出來(lái)。因此,veth設(shè)備常用來(lái)連接兩個(gè)網(wǎng)絡(luò)設(shè)備。Docker將veth pair?設(shè)備的一端放在新創(chuàng)建的容器中,并命名為eth0(容器的網(wǎng)卡),另一端放在主機(jī)中, 以veth*這樣類似的名字命名,并將這個(gè)網(wǎng)絡(luò)設(shè)備加入到docker0網(wǎng)橋中。可以通過(guò)?brctl show?命令查看。容器之間通過(guò)veth pair進(jìn)行訪問(wèn)使用?docker run -p?時(shí),docker實(shí)際是在iptables做了DNAT規(guī)則,實(shí)現(xiàn)端口轉(zhuǎn)發(fā)功能??梢允褂?code style="font-size:14px;background-color:rgba(27,31,35,.05);font-family:'Operator Mono', Consolas, Monaco, Menlo, monospace;color:rgb(239,112,96);">iptables -t nat -vnL?查看。c35f9506f345e67a5151680ef7df79ff.webp

          12.什么是Docker的數(shù)據(jù)卷

          數(shù)據(jù)卷是一個(gè)供容器使用的特殊目錄,位于容器中??蓪⑺拗鳈C(jī)的目錄掛載到數(shù)據(jù)卷上,對(duì)數(shù)據(jù)卷的修改操作立刻可見,并且更新數(shù)據(jù)不會(huì)影響鏡像,從而實(shí)現(xiàn)數(shù)據(jù)在宿主機(jī)與容器之間的遷移。數(shù)據(jù)卷的使用類似于Linux下對(duì)目錄進(jìn)行的mount操作。如果需要在容器之間共享一些數(shù)據(jù),最簡(jiǎn)單的方法就是使用數(shù)據(jù)卷容器。數(shù)據(jù)卷容器是一個(gè)普通的容器,專門提供數(shù)據(jù)卷給其他容器掛載使用。容器互聯(lián)是通過(guò)容器的名稱在容器間建立一條專門的網(wǎng)絡(luò)通信隧道。簡(jiǎn)單點(diǎn)說(shuō),就是會(huì)在源容器和接收容器之間建立一條隧道,接收容器可以看到源容器指定的信息

          13.如何搭建Docker私有倉(cāng)庫(kù)

          1.拉取私有倉(cāng)庫(kù)鏡像
              

          [root@jeames?~]#?docker?pull?registry
          Using?default?tag:?latest

          2.啟動(dòng)私有倉(cāng)庫(kù)容器
              

          docker?run?-di?--name?registry?-p?5000:5000?registry
          docker?update?--restart=always?registry???--開機(jī)自啟動(dòng)
          docker?ps?-a??--format?"table?{{.ID}}\t{{.Names}}\t{{.Status}}"

          訪問(wèn)網(wǎng)址:http://192.168.1.54:5000/v2/_catalog3.設(shè)置信任
              

          [root@jeames?~]#?vi?/etc/docker/daemon.json
          {
          "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
          "insecure-registries":["192.168.1.54:5000"]
          }

          [root@jeames?~]#?systemctl?restart?docker???--重啟docker

          4.上傳本地鏡像
              

          [root@jeames?~]#?docker?images
          [root@jeames?~]#?docker?tag?postgres:11?192.168.1.54:5000/postgres

          [root@jeames?~]#?docker?push?192.168.1.54:5000/postgres

          5.重新拉取鏡像
              

          [root@jeames?~]#?docker?rmi?192.168.1.54:5000/postgres
          [root@jeames?~]#?docker?images
          [root@jeames?~]#?docker?pull?192.168.1.54:5000/postgres

          14.Docker如何遷移備份?

          1.容器保存為鏡像
              

          [root@jeames?~]#?docker?images
          [root@jeames?~]#?docker?ps?-a
          docker?ps?-a?--format?"table?{{.ID}}\t{{.Names}}\t{{.Status}}"
          [root@jeames?~]#?docker?commit?redis?myredis
          ##使用新的鏡像創(chuàng)建容器
          docker?run?-di?--name?myredis?myredis

          2.鏡像的備份
              

          [root@jeames?~]#?docker?save?-o?myredis.tar?myredis

          默認(rèn)放到當(dāng)前目錄
              

          [root@jeames?~]#?ll
          [root@jeames?~]#?pwd

          3.恢復(fù)過(guò)程
              

          ##刪除容器
          docker?ps?--format?"table?{{.ID}}\t{{.Names}}\t{{.Status}}"
          docker?stop?myredis
          docker?rm?myredis
          ##刪除鏡像
          docker?images
          docker?rmi?myredis
          [root@jeames?~]#?docker?load?-i?myredis.tar

          15. Docker如何部署MySQL?

          1.下載鏡像
              

          https://hub.docker.com/?中搜索mysql
          [root@jeames?~]#?docker?pull?mysql:5.7.30
          [root@jeames?~]#?docker?pull?mysql:8.0.20

          2.安裝部署
          2.1 創(chuàng)建容器
              

          mkdir?-p?/usr/local/mysql5730/
          mkdir?-p?/usr/local/mysql8020/

          docker?run?-d?--name?mysql5730?-h?mysql5730?\
          -p?3309:3306?\
          -v?/usr/local/mysql5730/conf:/etc/mysql/conf.d?\
          -e?MYSQL_ROOT_PASSWORD=root?-e?TZ=Asia/Shanghai?\
          mysql:5.7.30

          docker?run?-d?--name?mysql8020?-h?mysql8020?\
          -p?3310:3306?\
          -v?/usr/local/mysql8020/conf:/etc/mysql/conf.d?\
          -e?MYSQL_ROOT_PASSWORD=root?-e?TZ=Asia/Shanghai?\
          mysql:8.0.20

          2.2 訪問(wèn)Mysql
              

          ##登陸容器
          docker?exec?-it?mysql5730?bash
          mysql?-uroot?-proot
          mysql>?select?user,host?from?mysql.user

          ##遠(yuǎn)程訪問(wèn)
          mysql?-uroot?-proot?-h192.168.59.220?-P3309

          <END> 推薦閱讀:

          Win11 2022更新向所有符合兼容要求的用戶開放,你會(huì)升級(jí)嗎?

          三種跨域解決方案:HttpClient、注解、網(wǎng)關(guān)

              
                  互聯(lián)網(wǎng)初中高級(jí)大廠面試題(9個(gè)G)
                
              

          內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬(wàn)并發(fā)、消息隊(duì)列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper......等技術(shù)棧!

          ?戳閱讀原文領(lǐng)??! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??朕已閱? 06aa3578e84dae22126dd203cd89ffa9.webp

          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  啪啪啪成人网站 | 亚洲欧美成人图片 | 一区二区三区色欲 | 日韩一区二区特一级免费在线观看 | 草逼大片 |