[轉]My list of helpful docker commands

https://gist.github.com/garystafford/f0bd5f696399d4d7df0f docker exec -it $(docker container ls | grep 'pattern' | awk '{print $1}') bin/bash docker ps -a --no-trunc | grep 'pattern' | awk '{print $1}' | xargs -r --no-run-if-empty docker rm docker images -a | grep 'pattern' | awk '{print $3}' | xargs docker rmi ############################################################################### # Helpful Docker commands and code snippets ############################################################################### ### CONTAINERS ### docker stop $(docker ps -a -q) #stop ALL containers docker rm -f $(docker ps -a -q) # remove ALL containers docker rm -f $(sudo docker ps --before="container_id_here" -q) # can also filter # exec into container docker exec -it $(docker container ls | grep '' | awk '{print $1}') sh # exec into container on windows with Git Bash winpty docker exec -it $(docker container ls | grep '' | awk '{print $1}') sh # helps with error: 'unexpected end of JSON input' docker rm -f $(docker ps -a -q) # Remove all in one command with --force docker exec -i -t "container_name_here" /bin/bash # Go to container command line # to exit above use 'ctrl p', 'ctrl q' (don't exit or it will be in exited state) docker rm $(docker ps -q -f status=exited) # remove all exited containers ### IMAGES ### # list images and containers docker images | grep "search_term_here" # remove image(s) (must remove associated containers first) docker rmi -f image_id_here # remove image(s) docker rmi -f $(docker images -q) # remove ALL images!!! docker rmi -f $(docker images | grep "^" | awk '{print $3}') # remove all images docker rmi -f $(docker images | grep 'search_term_here' | awk '{print $1}') # i.e. 2 days ago docker rmi -f $(docker images | grep 'search_1\|search_2' | awk '{print $1}') ### DELETE BOTH IMAGES AND CONTAINERS ### docker images && docker ps -a # stop and remove containers and associated images with common grep search term docker ps -a --no-trunc | grep "search_term_here" | awk "{print $1}" | xargs -r --no-run-if-empty docker stop && \ docker ps -a --no-trunc | grep "search_term_here" | awk "{print $1}" | xargs -r --no-run-if-empty docker rm && \ docker images --no-trunc | grep "search_term_here" | awk "{print $3}" | xargs -r --no-run-if-empty docker rmi # stops only exited containers and delete only non-tagged images docker ps --filter 'status=Exited' -a | xargs docker stop docker images --filter "dangling=true" -q | xargs docker rmi ### DELETE NETWORKS AND VOLUMES ### # clean up orphaned volumes docker volume rm $(docker volume ls -qf dangling=true) # clean up orphaned networks docker network rm $(docker network ls -q) ### NEW IMAGES/CONTAINERS ### # create new docker container, ie. ubuntu docker pull ubuntu:latest # 1x pull down image docker run -i -t ubuntu /bin/bash # drops you into new container as root ### OTHER ### # install docker first using directions for installing latest version # https://docs.docker.com/installation/ubuntulinux/#ubuntu-trusty-1404-lts-64-bit # other great tips: http://www.centurylinklabs.com/15-quick-docker-tips/ # fix fig / docker config: https://gist.github.com/RuslanHamidullin/94d95328a7360d843e52

2018-12-24 · 3 min · 480 words · Me

ethereum poa docker-compose docker

https://medium.com/taipei-ethereum-meetup/%E4%BD%BF%E7%94%A8-go-ethereum-1-6-clique-poa-consensus-%E5%BB%BA%E7%AB%8B-private-chain-1-4d359f28feff node 1 node 2 signer 1 signer 2 all private key & address create by https://vanity-eth.tk/ check again private key & address by https://www.myetherwallet.com/#view-wallet-info node1 private key:138cbbfb21686ddc3b5ffeb2cfc83491175af68319977acb81d0ae93392c626c account address:e79d33e93bd888b35e055f1a12d876354729037b node2 private key:df0c39faccd3c9d6d10091932f2214b9d42e92bd07b64a1552d13d39a6a84122 account address:Bf95EAacf10BEA53f0a73955a7eFCE2fb4A4Ef1d signer1 nodekeyhex:fcc406a7344690f66c757cc2c9987e3e78bb01e33229f9877d48a7fecc2d6657 node address:256330933851d6d3c5f7326b01021553415a33cd5485e23bfbe35f6321e6e2f8373bb1c94933fdb3283a1a8b2b737587dd99c555029e65e173a3094daa39277c private key:d05bd152f3d71ff5f91830f3ccc1090fb670c7026ebf8c2136d4e5090d59398d account address:5921a4C1B13afbD4b61d63e9c7BD47741C47B176 signer2 private key:df504d175ae63abf209bad9dda965310d99559620550e74521a6798a41215f46 account address:8Cc5A1a0802DB41DB826C2FcB72423744338DcB0 docker-compose version: '3.3' services: go-ethereum-node1: build: context: go-ethereum-node1/ volumes: #- ./go-ethereum/keystore:/root/.ethereum/devchain/keystore:rw - ./go-ethereum-node1/genesis/poa_for_dev.json:/root/genesis/poa_for_dev.json:ro - /etc/localtime:/etc/localtime:ro #- ./go-ethereum/log:/root/log:rw entrypoint: /root/start.sh ports: - "18545:8545" - "30313:30303" - "30313:30303/udp" networks: - fastdev go-ethereum-node2: build: context: go-ethereum-node2/ volumes: - ./go-ethereum-node2/genesis/poa_for_dev.json:/root/genesis/poa_for_dev.json:ro - /etc/localtime:/etc/localtime:ro entrypoint: /root/start.sh ports: - "28545:8545" - "30323:30303" - "30323:30303/udp" networks: - fastdev go-ethereum-signer1: build: context: go-ethereum-signer1/ volumes: - ./go-ethereum-signer1/genesis/poa_for_dev.json:/root/genesis/poa_for_dev.json:ro - /etc/localtime:/etc/localtime:ro entrypoint: /root/start.sh ports: - "38545:8545" - "30333:30303" - "30333:30303/udp" networks: - fastdev go-ethereum-signer2: build: context: go-ethereum-signer2/ volumes: - ./go-ethereum-signer2/genesis/poa_for_dev.json:/root/genesis/poa_for_dev.json:ro - /etc/localtime:/etc/localtime:ro entrypoint: /root/start.sh ports: - "48545:8545" - "30343:30303" - "30343:30303/udp" networks: - fastdev mongo: image: mongo #restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example volumes: - alldata:/data/db networks: - fastdev mongo-express: image: mongo-express #restart: always links: - mongo:mongo ports: - 8081:8081 environment: ME_CONFIG_MONGODB_ADMINUSERNAME: root ME_CONFIG_MONGODB_ADMINPASSWORD: example networks: - fastdev postgres: image: postgres #restart: always environment: PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_USER: root POSTGRES_PASSWORD: example volumes: - alldata:/var/lib/postgresql/data networks: - fastdev mariadb: image: mariadb #restart: always environment: MYSQL_ROOT_PASSWORD: example volumes: - alldata:/var/lib/mysql networks: - fastdev adminer: image: adminer #restart: always ports: - 8082:8080 networks: - fastdev openldap: build: context: openldap/ command: [--copy-service, --loglevel, debug] environment: LDAP_ORGANISATION: "das-labor" LDAP_DOMAIN: "das-labor.org" LDAP_BASE_DN: "dc=das-labor,dc=org" LDAP_ADMIN_PASSWORD: "abc123" LDAP_CONFIG_PASSWORD: "abc123" volumes: - ./openldap/data/ldap/environment:/container/environment/01-custom - ./openldap/data/slapd/database:/var/lib/ldap - ./openldap/data/slapd/config:/etc/ldap/slapd.d #- ./openldap/certs:/container/service/slapd/assets/certs ports: - "389:389" - "689:689" networks: - fastdev phpldapadmin: image: osixia/phpldapadmin command: [--loglevel, debug] environment: PHPLDAPADMIN_LDAP_HOSTS: "openldap" ports: - "6443:443" networks: - fastdev volumes: alldata: networks: fastdev: driver: bridge geth Dockerfile all same ...

2018-12-19 · 7 min · 1377 words · Me

ethereum-etl ethereumetl docker

docker-compose.yml version: '3.3' services: ethereum_etl: build: context: . volumes: - ./var/log/:/ethereum-etl/output:rw #- /root/go/src/github.com/ethereum/go-ethereum/build/bin/data:/ethereum-etl/ipc #failed ipc is interface not data networks: - etl networks: etl: driver: bridge DOCKERFILE FROM python:3.6-alpine MAINTAINER Eric Lim ENV PROJECT_DIR=ethereum-etl RUN mkdir /$PROJECT_DIR WORKDIR /$PROJECT_DIR RUN apk add --no-cache gcc musl-dev #for C libraries: RUN pip install --upgrade pip && pip install ethereum-etl #ENTRYPOINT ["python", "ethereumetl"] ENTRYPOINT ["ethereumetl"] CMD ["export_all", "-s", "0", "-e", "500000", "-p", "http://xxx.xxx.xxx.xxx:8545", "-o", "output"] -s -e -p -o see https://github.com/blockchain-etl/ethereum-etl ...

2018-12-17 · 1 min · 112 words · Me

docker iptables part 2

http://sueboy.blogspot.com/2018/11/docker-iptables_12.html sudo iptables -vnL ======NAT===== sudo iptables -t nat -vnL 顯示行數 sudo iptables -t nat -L POSTROUTING -n –line-numbers -D 刪除那行 sudo iptables -t nat -D POSTROUTING x x is which line delete 確認docker網段補上 sudo iptables -t nat -A POSTROUTING -s 172.19.0.0/16 ! -o docker0 -j MASQUERADE

2018-11-23 · 1 min · 47 words · Me

docker volume or create directory, get access deny

https://www.centos.bz/2018/02/%E5%AE%9A%E5%88%B6entrypoint%E8%87%AA%E5%8A%A8%E4%BF%AE%E6%94%B9docker%E4%B8%ADvolume%E7%9A%84%E6%9D%83%E9%99%90/ ………. Other way 1、make shell and run shell, before run docker-compose. mkdir ./data sudo chown docker ./data #sudo chown user01 ./data sudo chmod g+rwx ./data sudo chgrp 994 ./data Directory exist and correct Access. 994 or 50 or 1000 see /etc/passwd or /etc/group 2、But sometime OS install docker by you don’t know way… maybe have user dockerroot、group dockerroot or only group docker you maybe already run sudo usermod -a -G docker $(whoami) 100% in docker group. ...

2018-11-23 · 1 min · 117 words · Me