發表文章

目前顯示的是有「docker」標籤的文章

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了

Docker筆記-mysql 應用

圖片
我們一般在使用docker建置mysql時, 輸入的指令大概都會是這樣 docker run --name junior-mysql -p 3309:3306 \ -e MYSQL_ROOT_PASSWORD=junior1234 \ -d mysql:5.7 但是,有時候會需要做一些匯入與匯出的動作 這時候可以參考以下的匯入和匯出的方法 匯出 docker exec -it junior-mysql mysqldump -uroot -p database > /path/database.sql 匯入 docker exec -i junior-mysql mysqldump -uroot -p database < /path/database.sql 匯入要注意 "-i " 不是 "-it" 否則會出現下列錯誤 the input device is not a TTY

Docker筆記-portainer

圖片
portainer 是 docker ui 以下介紹安裝方法 1.安裝docker 2.尋找image docker search portainer 3.將image pull下來 docker pull portainer/portainer 4.使用d ocker,建立 cont ainer docker volume create portainer_data docker run -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data -d portainer/portainer 5.查看是否成功建立container docker ps 6.使用瀏覽器開啟 IP:9000 可以看到portainer的頁面 7.設定好帳號密碼後,登入後就可以看到portainer的介面了 參考文章: https://portainer.io/install.html

Docker筆記-DockerUI

圖片
安裝dockerui能夠比較方便的去瀏覽機器上面目前有多少個docker container在跑,下載了多少的images之類的 安裝方法如下: 1.安裝docker 這裡 2.使用docker搜尋dockerui並將他pull下來 docker search dockerui docker pull abh1nav/dockerui 3.執行dockerui docker run -p 9000:9000 -v /var/run/docker.sock:/docker.sock \ --name dockerui -d abh1nav/dockerui:latest -e="/docker.sock" 參考網站: https://hk.saowen.com/a/3e017255af7724f5bc62f5c96d5383133c9db59818478e014d79d33f1c0c35f6

Docker筆記-Docker-Compose 安裝

圖片
安裝流程 需求 在安裝docker-compose之前,必須要先安裝好docker喔~ 如未安裝可以參考 Docker 安裝筆記-ceontos7 下載docker-compose位置 https://github.com/docker/compose/releases 執行下列命令 curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose 加入可以執行的權限 chmod +x /usr/local/bin/docker-compose 確認版本號 docker-compose --version 移除方法 rm /usr/local/bin/docker-compose 參考資料: https://docs.docker.com/compose/install/#prerequisites https://github.com/docker/compose/releases

Docker筆記-建立container間的網路

圖片
有時候~有時候~我會相信一切有盡頭 有時候有些軟體都會運行到兩個以上的軟體,例如nginx+mysql 那要如何讓兩個container互相找到對方? 1.建立docker的網路 docker network create [網路名稱] EX: docker network create junior-net 2.啟動container,並將container加入剛剛建立的docker網路 docker run --name [container名稱] --net [網路名稱] EX: docker run --name nginx -p 8080:80 --net junior-net -d nginx 3.我們可以測試看看兩個container是否真的在同一個網路內 01.首先,創立兩個container並加入同一個網路內 docker network create junior-net docker run --name junior-a -p 8080:80 -net junior-net -d nginx docker run --name junior-b -p 8080:80 -net junior-net -d nginx 02.進入nginx-a,使用ping,看看是否找的到nginx-b docker exec -it nginx-a /bin/bash ping nginx-b 萬一出現 bash: ping: command not found 在container內輸入 apt-get update apt-get install iputils-ping 安裝好就可以使用ping了 4.要會創建docker網路也要會刪 docker network rm [網路名稱] 注意1:刪除前請確認加入此網路的container是否都已關閉,否則會報錯 注意2:一旦docker網路被刪除後,原本已加入的container都無法再被啟動

Docker筆記-建立nginx並設定外掛資料夾

圖片
docker 快速啟動nginx 1.創出要與container連結的資料夾 mkdir /docker-lab mkdir /docker-lab/nginx mkdir /docker-lab/nginx/conf mkdir /docker-lab/nginx/conf/vhost mkdir /docker-lab/nginx/log mkdir /docker-lab/nginx/html 2.創立nginx的設定檔,包含nignx.conf與vhost裡面的*.conf nginx.conf =========================================================== user  nginx; worker_processes  auto; error_log  /var/log/nginx/error.log warn; pid        /var/run/nginx.pid; events { use epoll;     worker_connections  51200; multi_accept on; } http {     include       /etc/nginx/mime.types;     default_type  application/octet-stream;     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       '$status $body_bytes_sent "$http_referer" '                 ...

Docker 安裝筆記-ceontos7

圖片
安裝版本 Docker CE Docker 分成  EE(Enterprise Edition) 企業版 和  CE(Community Edition)  一般版,這次安裝使用的是 CE(Community Edition)  。 Docker CE 又分成兩種類型 Stable: 每季更新一次 Edge: 每月更新一次 第一步驟: 移除舊版本 因為centos7會內建一些比較舊版本的docker,為了確保docker是最新鮮的,我們要先把舊版的docker清掉 $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine 第二步驟: 安裝一些必要套件 $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 第三步驟: 新增 Docker 官方的 stable 套件庫(repository),縱使您想要安裝 edge 版本的 Docker,也要先新增這一個套件庫: $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo     docker.repo 中也同時包含 edge 版本的 Docker 套件庫,不過預設是被停用的...

Docker 安裝筆記

圖片
Centos 6.8 yum install -y yum-utils \   device-mapper-persistent-data lvm2    sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm  sudo yum install docker-io Ubuntu 移除舊版本 apt-get remove docker docker-engine docker.io -y apt-get autoremove -y apt-get purge -y 安裝相關工具 apt-get update apt-get install curl -y apt-get install inux-image-extra-$(uname -r) apt-get install linux-image-extra-virtual apt-get install apt-transport-https ca-certificates software apt-get install apt-transport-https ca-certificates software-properties-common -y 下載並新增APT儲存庫憑證 curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo apt-key add - 檢查APT儲存庫憑證 sudo apt-key finger 0EBFCD88 新增docker儲存庫到儲存庫清單 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu stable" vim /etc/apt/sources.list deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable # deb-src [arch=amd64] https://download.d...