亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker使用Link在容器之間建立連接

 更新時(shí)間:2016年10月13日 11:15:18   作者:kongxx  
這篇文章主要介紹了Docker使用Link在容器之間建立連接的相關(guān)資料,需要的朋友可以參考下

在使用Docker的時(shí)候我們會(huì)常常碰到這么一種應(yīng)用,就是我需要兩個(gè)或多個(gè)容器,其中某些容器需要使用另外一些容器提供的服務(wù)。比如這么一種情況:我們需要一個(gè)容器來(lái)提供mysql的數(shù)據(jù)庫(kù)服務(wù),而另外兩個(gè)容器作為客戶端來(lái)連接使用mysql數(shù)據(jù)庫(kù)服務(wù)。下面我們就來(lái)看看Docker是怎樣通過(guò)Link來(lái)實(shí)現(xiàn)這種功能的。

1. 這里我們首先創(chuàng)建兩個(gè)容器image,一個(gè)用來(lái)模擬mysql數(shù)據(jù)庫(kù),另外一個(gè)使用mysql的client來(lái)模擬一些使用mysql服務(wù)的應(yīng)用,這種應(yīng)用可以是任何php,python,java等的應(yīng)用。

1.1 先創(chuàng)建一個(gè)mysql_server目錄并在其下創(chuàng)建一個(gè)Dockerfile文件,內(nèi)容如下

FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"

RUN yum install -y mysql-server mysql

RUN /etc/init.d/mysqld start &&\
 mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\
 mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\
 mysql -u root -pletmein -e "show databases;"

EXPOSE 3306

CMD ["/usr/bin/mysqld_safe"]

然后根據(jù)Dockerfile來(lái)創(chuàng)建image

sudo docker build -t kongxx/mysql_server . 

1.2 創(chuàng)建一個(gè)mysql_client目錄并在其下創(chuàng)建一個(gè)Dockerfile文件,內(nèi)容如下

FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"



RUN yum install -y mysql

然后根據(jù)Dockerfile來(lái)創(chuàng)建image

sudo docker build -t kongxx/mysql_client . 

1.3 創(chuàng)建完image之后,我們可以使用下面命令來(lái)查看結(jié)果

$ sudo docker images | grep kongxx
kongxx/mysql_client latest  aa31f22f6fc5 2 hours ago  303.7 MB
kongxx/mysql_server latest  3b9b08c8dda4 2 hours ago  353.3 MB

2. 第二步是根據(jù)image來(lái)創(chuàng)建我們的應(yīng)用場(chǎng)景

2.1 首先創(chuàng)建提供mysql數(shù)據(jù)庫(kù)服務(wù)的容器

sudo docker run --name=mysql_server -d -P kongxx/mysql_server

2.2 分別創(chuàng)建兩個(gè)使用上一步創(chuàng)建出來(lái)mysql數(shù)據(jù)庫(kù)服務(wù)的容器

第一個(gè)應(yīng)用容器

復(fù)制代碼 代碼如下:
sudo docker run --name=mysql_client1 --link=mysql_server:db -t -i kongxx/mysql_client /usr/bin/mysql -h db -u root -pletmein

第二個(gè)應(yīng)用容器

復(fù)制代碼 代碼如下:
sudo docker run --name=mysql_client2 --link=mysql_server:db -t -i kongxx/mysql_client /usr/bin/mysql -h db -u root -pletmein

這里需要特別注意一下“–link=mysql_server:db”,這個(gè)參數(shù)就是告訴Docker容器需要使用“mysql_server”容器,并將其別名命名為db,這樣在這兩個(gè)容器里就可以使用“db”來(lái)作為提供mysql數(shù)據(jù)庫(kù)服務(wù)的機(jī)器名。所以在最后啟動(dòng)參數(shù)里我們使用的是“/usr/bin/mysql -h db -u root -pletmein”來(lái)連接mysql數(shù)據(jù)庫(kù)的。

2.3 運(yùn)行完上面兩個(gè)命令,我們就會(huì)在創(chuàng)建了兩個(gè)mysql的client的容器,此時(shí)我們可以使用下面命令來(lái)查看狀態(tài)

sudo docker ps
CONTAINER ID IMAGE   COMMAND  CREATED  STATUS  PORTS   NAMES
ac0c76c627c0 kongxx/mysql_client:latest /usr/bin/mysql -h db 10 seconds ago Up 9 seconds     mysql_client2
763c4825722d kongxx/mysql_client:latest /usr/bin/mysql -h db 41 minutes ago Up 40 minutes     mysql_client
32f7839f7e9d kongxx/mysql_server:latest /usr/bin/mysqld_safe About an hour ago Up About an hour 0.0.0.0:49153->3306/tcp mysql_client1/db,mysql_client2/db,mysql_server 0.0.0.0:49153->3306/tcp mysql_client1/db,mysql_client2/db,mysql_server

這里注意一下最后一行,也就是mysql_server容器的“NAMES”列的內(nèi)容“mysql_client/db,mysql_client2/db,mysql_server”,這就說(shuō)明mysql_client1和mysql_client2都和db建立的連接。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • k8s手動(dòng)拉取docker鏡像的方法示例

    k8s手動(dòng)拉取docker鏡像的方法示例

    docker是一種便捷的容器化解決方案,它可以通過(guò)拉取鏡像的方式輕松地部署和管理應(yīng)用程序,本文主要介紹了k8s手動(dòng)拉取docker鏡像的方法示例,感興趣的可以了解一下
    2024-02-02
  • Docker Compose引用環(huán)境變量的方法示例

    Docker Compose引用環(huán)境變量的方法示例

    在項(xiàng)目中,往往需要在 docker-compose.yml 文件中使用環(huán)境變量來(lái)控制不同的條件和使用場(chǎng)景。本文集中介紹 docker compose 引用環(huán)境變量的方式,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn)

    Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn)

    這篇文章主要介紹了Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn),私有倉(cāng)庫(kù)最常用的就是Registry、Harbor兩種,本文詳細(xì)介紹如何搭建registry私有倉(cāng)庫(kù),感興趣的可以了解一下
    2020-06-06
  • docker容器內(nèi)安裝TensorRT的問(wèn)題

    docker容器內(nèi)安裝TensorRT的問(wèn)題

    很多朋友在使用docker容器內(nèi)安裝TensorRT的時(shí)候,遇到一大堆棘手的問(wèn)題,不知道怎么處理好了,今天小編就docker安裝TensorRT的問(wèn)題給大家詳細(xì)介紹下,感興趣的朋友一起看看吧
    2021-05-05
  • Docker安裝MySQL和Redis的方法步驟

    Docker安裝MySQL和Redis的方法步驟

    這篇文章主要介紹了Docker安裝MySQL和Redis的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 詳解如何基于Docker鏡像逆向生成Dockerfile

    詳解如何基于Docker鏡像逆向生成Dockerfile

    這篇博客文章我們將通過(guò)使用一些開(kāi)源工具,帶領(lǐng)您逐步解讀?Docker?鏡像并轉(zhuǎn)換為?Dockerfile?的過(guò)程,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • 使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境

    使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境

    這篇文章主要介紹了使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 深入了解docker(docker鏡像、容器、倉(cāng)庫(kù)的基本概念)

    深入了解docker(docker鏡像、容器、倉(cāng)庫(kù)的基本概念)

    本文重點(diǎn)給大家介紹docker鏡像、容器、倉(cāng)庫(kù)的基本概念,感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2016-10-10
  • Docker鏡像分層的原理詳解

    Docker鏡像分層的原理詳解

    這篇文章主要介紹了Docker鏡像分層的原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • docker 實(shí)現(xiàn)容器與宿主機(jī)無(wú)縫調(diào)用shell命令

    docker 實(shí)現(xiàn)容器與宿主機(jī)無(wú)縫調(diào)用shell命令

    這篇文章主要介紹了docker 實(shí)現(xiàn)容器與宿主機(jī)無(wú)縫調(diào)用shell命令的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論