docker 入門(2)

1,多容器環境

運行docker容器html

進入容器並查看該容器的IPnode

exit退出容器python

 

運行超小的linux的docker鏡像alpinelinux

能夠看到若是沒有提早把鏡像pull到本地,直接run的話,它會自動去pull。nginx

 

進入容器
docker exec -it 6e913 sh

注:sh和bash都是經常使用的shelldocker

 

安裝curlshell

curl 是經常使用的命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。
http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

 

用alpine容器中的curl工具 訪問 nginx容器bash

 

exit退出容器服務器

由於在實際生產中咱們可能不知道nginx容器的ip,那怎麼訪問呢架構

先把linux容器刪掉

 

docker run -dit --link mynginx:mynginx alpine
--link 前者是要鏈接的容器,後者是要鏈接的容器的別名。

 

 

經過域名方法訪問nginx容器

 

查看hosts文件

 

能夠看到 --link參數就是在hosts文件中增長了條映射

當咱們訪問 mynginx域名時就自動解析爲 172.17.0.2這個ip

2,Docker-Compose

docker-compose是一個Python程序,能夠很方便地管理 由多個Docker實例組成的分佈式服務。

若是須要比較多的容器,向上面那樣挨個配置比較繁瑣,這裏就引出了docker-compose這個工具。

docker-compose 是一個用戶定義和運行多個容器的 Docker 應用程序。在 Compose 中你可使用 YAML 文件來配置你的應用服務。而後,只須要一個簡單的命令,就能夠建立並啓動你配置的全部服務。
先安裝python-pip軟件包
sudo aptitude install python-pip

安裝docker-compose
sudo pip install docker-compose>=1.8.0

一個實驗來講明docker-compose的使用,這個實驗要搭建的環境由三個容器組成。

把這三個容器的鏡像配置和映射關係等都寫到一個後綴爲.yml的配置文件中

這是一個yml文件的截圖

第1行 version即版本號

第3到9爲nginx服務(容器)的配置,image配置鏡像,ports配置端口(命令中的-p),volumes配置映射文件(命令中的-v)

在該配置文件所在目錄運行命令
docker-compose up -d
-d 後臺啓動

能夠看到這樣就運行了三個容器。

感受這yaml文件相似於Makefile文件啊。

3,kubernetes(k8s)瞭解

k8s是谷歌開源的一個容器管理編排工具,經常使用它來編排docker容器,它和docker同樣都是用go語言編寫的。

k8s的基本架構

 

k8s調度的最小單位是pod(docker+pause),一個node中能夠包含多個pod。

其中的deployment用於維持pod的數量,但咱們設置10pod提供服務,過程當中有1個發生故障中止服務,該模塊會自動啓動1個pod維持設定的pod數量。

其中的service用於負載均衡,把多個pod抽象爲一個服務,把多個pod分配到不一樣的node。

 

詳見B站視頻 

https://www.bilibili.com/video/av61131351

https://www.bilibili.com/video/av61990770

相關文章
相關標籤/搜索