運行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
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文件啊。
k8s是谷歌開源的一個容器管理編排工具,經常使用它來編排docker容器,它和docker同樣都是用go語言編寫的。
k8s的基本架構
k8s調度的最小單位是pod(docker+pause),一個node中能夠包含多個pod。
其中的deployment用於維持pod的數量,但咱們設置10pod提供服務,過程當中有1個發生故障中止服務,該模塊會自動啓動1個pod維持設定的pod數量。
其中的service用於負載均衡,把多個pod抽象爲一個服務,把多個pod分配到不一樣的node。
詳見B站視頻