發表文章

目前顯示的是 7月, 2018的文章

Docker筆記-建立Docker Swarm 叢集管理

圖片
建立swarm,可以同時管理不同台host主機上面的container,在做一些需要大量佈署的作業的時候,會快速且精準很多,以下是設定及使用的方法。 一、首先,Docker Swarm 分成兩個角色,Manager與Worker         01.Manager負責管理Worker,但是他還是具備有Worker的功能。         02.Worker負責接收Manager的任務指派 因此這邊先準備三台主機 IP Address Role 192.168.1.142    manager 192.168.1.183    node1 192.168.1.140    node2 這邊要先確認主機的防火牆已經關掉了 systemctl stop firewalld 二、在每個host上面安裝docker, docker安裝方法 三、Manager節點建置 docker swarm init --advertise-addr 192.168.1.142 成功後會顯示下圖訊息 這時候可以下指令查看節點狀態 docker node ls 四、接著建立 Docker swarm network 來提供容器跨節點的溝通 docker network create --driver=overlay --attachable junior-swarm docker network create --driver=overlay proxy 檢查網路狀態 docker network ls |grep swarm 五、建置Worker建置 這邊可以使用剛剛第三點印出的訊息去新增這次要加入的兩個Worker節點 docker swarm join --token SWMTKN-1-450wc8jxwqhmt8p1fyvnmmz1y1hdin0yrt9yt4a4x3ibn2r31x-1v9dc78lqg4ibharp5vzopiuf 192.168.1.142:2377 加入後再回到Manager查看節點狀態 docker node ls 六、透過指令建立服務 這邊建立兩個副本 docker service create --replicas 2

Docker筆記-Registry UI 介面

圖片
當我們在使用自架的Registry的時候,想要知道我們到底有多少的image在這個自架的Registry上面,可以使用一些web介面的registory 目前比較多人用的有 1.konradkleine/docker-registry-frontend 2.hyper/docker-registry-web 3.atcol/docker-registry-ui 而這邊我要來安裝的是第二個 "hyper/docker-registry-web" 安裝方法: 機器IP: 192.168.1.142 一、使用docker下載image docker pull hyper/docker-registry-web 二、創建一個docker-network,因為要將"registry"本身和   "hyper/docker-registry-web"放在同一個網路下面才能溝通 docker network create registry-network 三、安裝registry docker run --name junior-registry -p 5000:5000 \ --network registry-network -v /junior-registry:/var/lib/registry \ -d registry 四、將 " hyper/docker-registry-web" 跑起來 docker run --name registry-web -p 8080:8080 \ --network registry-network \ -e REGISTRY_URL=http://192.168.1.142:5000/v2 \ -d hyper/docker-registry-web 五、跑起來後使用指令觀察container的狀態 docker ps 六、在瀏覽器上使用 <localhostIP:8080> 來看有沒有網站出現(nginx的images是之前丟上去的) 七、試著丟一個image上去看看吧 docker pull hello-world docker tag hello-world 192.16

Docker筆記-私人Registry 安裝

圖片
  有時候有些images不太適合放在docker hub 上面,只好自己架設一個registry,這邊要安裝一個private registry。 安裝架設方法 主機IP:192.168.1.142 一、啟動一個docker registry的docker container docker search registry docker pull registry    啟動registry docker run -- name junior-registry -p 5000:5000 \ -v /junior-registry:/var/lib/registry \ -d registry   /var/lib/registry 這個位置是放我們上傳image的地方 二、將image上傳至registry         使用 docker tag 將image 標技能可以放上registry的格式         EX:先在pull一個 image docker pull nginx docker tag nginx 192.168.1.142:5000/nginx:demo 三、接下來就可以使用 docker push 推上 registry docker push localhost:5000/nginx:demo         不過這時候出現了錯誤的訊息 解法 需要修改docker的設定 vi /etc/docker/daemon.json {   "insecure-registries": ["192.168.1.142:5000"] } 並重新啟動docker systemctl restart docker 重新push上去 docker push 192.168.1.142:5000/nginx:demo 可以看到已經push上去registry了