docker iptables part 3

https://morphyhu.szitcare.com/wordpress/?p=1314 New docker use DOCKER-USER Important!! check host route & login docker container check route. and iptables -L -t nat POSTROUTING MASQUERADE 172.17.0.0/16 must same submask. EX: host route have 172.17.0.0, 172.18.0.0, 172.19.0.0, 172.20.0.0 docker insdie route use 172.18.0.0 iptables MASQUERADE use 172.17.0.0 Docker Internet is failed. So add iptables -t nat -A POSTROUTING -s 172.18.0.0/16 ! -o docker0 -j MASQUERADE #启动后默认增加的规则 iptables -N DOCKER iptables -N DOCKER-ISOLATION-STAGE-1 iptables -N DOCKER-ISOLATION-STAGE-2 iptables -N DOCKER-USER iptables -t nat -N DOCKER iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER iptables -t nat -A OUTPUT !

繼續閱讀

docker-compose.yml version: '3.3' services: ethereum_etl: build: context: . env_file: .env volumes: - /var/log/hardblue/etl/:/ethereum-etl/output:rw #- /root/go/src/github.com/ethereum/go-ethereum/build/bin/data:/ethereum-etl/ipc #restart: unless-stopped networks: - etl networks: etl: driver: bridge .env STARTBLOCK=00000000 DOCKERFILE FROM python:3.6-alpine MAINTAINER Eric Lim ENV PROJECT_DIR=ethereum-etl RUN apk add unzip RUN wget https://github.com/blockchain-etl/ethereum-etl/archive/develop.zip \ && unzip develop.zip && rm develop.zip RUN mv ethereum-etl-develop /$PROJECT_DIR WORKDIR /$PROJECT_DIR RUN apk add --no-cache gcc musl-dev #for C libraries: RUN pip install --upgrade pip && pip install -e /$PROJECT_DIR/ #CMD ["export_all", "-s", "01990000", "-e", "99999999", "-p", "http://xxx.

繼續閱讀

docker log put where

https://stackoverflow.com/questions/33017329/where-is-a-log-file-with-logs-from-a-container get container id docker ps |grep < container name > get container log /var/lib/docker/containers/< container id >/< container id >-json.log

繼續閱讀

底層採用PVE(Proxmox),建立KVM VM,KVM VM使用docker-machine或是自建用boot2docker iso做好backup,使用時直接restore docker 執行時 Restart policies:always,這樣VM開機就會自動執行,不需要另外再設定。 Volume 直接用docker-compose YAML volume減少權限問題,資料也會儲存在VM內,使用VM後,備份是以VM為主,不用擔心資料遺失 一個VM放多個docker、整組docker-compose 或 一個VM放單一功能docker可以自己決定 VM可以被快照保護,一但出問題,還原後、開完機,VM內的docker會自動起服務,資料也是存在的,減少docker backup&resotre問題 為了管理docker方便,第一次建立VM時,執行Portainer always,可以backup,將來每一個VM都可以利用圖形界面查看docker運作情況 缺點: 硬碟空間使用受限於KVM,擴充大小有可能需要重開機 線上移轉只能以VM,不能用docker,但docker設計上也不走線上移轉 為什麼需要用到docker呢? 因為現在很多專案有直接提供docker使用,確實可以減少大量安裝時間, 但volume資料儲存、權限卻是最大的問題,上述架構可以解決這部份顧慮。

繼續閱讀

docker backup

https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes $ docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata ??? Real Demo Example: mongo cantainer mongo: image: mongo #restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example volumes: - alldata:/data/db networks: - fastdev volumes is /data/db docker running name is testbackup_mongo_1_1c9e49740f2e (this use docker ps check your run time docker name. Don’t copy) run $ docker run --rm --volumes-from testbackup_mongo_1_1c9e49740f2e -v $(pwd):/backup ubuntu tar cvf /backup/backup.

繼續閱讀

https://www.portainer.io/ docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer 今天發現一個docker gui管理工具 https://www.portainer.io/ 很符合簡單管理 先用docker-machine開一台機器,直接就是docker ready的VM ,VM可以是virtualbox等等 然後登入後,直接用 啟動 portainer的docker,管理這台機器上的docker 有圖形化介面,可以看到每一個docker使用情況,又可以直接登入到docker內,web terminal,這樣就有符合實際使用情況了 docker資料有用volume寫到本機vm內,再把整台vm打包備份的話,資料又不容易不見

繼續閱讀

作者的圖片

Sue boy

Sueboy Can support You

CIO

Taiwan