個人利用もしくはスモールビジネス(従業員数250人未満かつ年間売上高1000万ドル未満(訳注:1ドル110円換算で11億円))、教育機関、非商用のオープンソースプロジェクトでは引き続き無料で利用できる
記事:
docker ps
docker stats
docker build --ssh default .
代替: AWSを利用しているなら、ECR publicが良さそう
記事:
記事:
ip addr | grep docker0 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
sudo vim /etc/postfix/main.cf -- inet_interfaces = localhost, 172.17.0.1 -- sudo service postfix restart
記事:
記事
sudo docker version --format '{{json .}}' | jq . { "Client": { "Platform": { "Name": "Docker Engine - Community" }, "Version": "19.03.8", "ApiVersion": "1.40", "DefaultAPIVersion": "1.40", "GitCommit": "afacb8b", "GoVersion": "go1.12.17", ...
sudo docker version --format '{{json .Server.Version}}' "19.03.8" sudo docker version --format '{{json .Client.Version}}' "19.03.8"
sudo docker info --format '{{json .}}' | jq .
sudo docker info --format '{{json .ServerVersion}}' "19.xx.x" sudo docker info --format '{{json .Driver}}' "overlay2"
docker container run -it --rm --dns 8.8.8.8 ubuntu:latest bash
記事:
On the 31st of March 2020, we will be shutting down the legacy APT and YUM repositories hosted at dockerproject.org and dockerproject.com.
sudo docker run -it --rm ubuntu /bin/bash
sudo docker system df sudo docker system df -v
# 全コンテナ対象 sudo docker system prune -a --volumes # 直近24h使ってないコンテナだけ sudo docker system prune -a --filter "until=24h" sudo docker system prune --volumes
truncate -s 0 /var/lib/docker/containers/<container-id>/<container-id>-json.log
# 現在のドライバ確認 docker info | grep Logging Logging Driver: json-file # ログ1ファイル、最大10MB、3回までrole-overしたら破棄する cat /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "3"} } sudo service docker restart
docker buildで失敗したり、同じタグを指定すると、「tag=none」(dangling=宙ぶらりん状態)なimageがどんどん貯まる。
コンテナがあるとimageが消せない。
docker build --force-rm=true -t <tag> .
docker rm $(docker ps -a --filter 'exited=1' -q)
docker rmi $(docker images --filter "dangling=true" -aq) # or docker rmi prune
記事:
networks: default: driver: bridge
CONTAINER=mysql # bashでコンテナに入る。bashが無いイメージの場合sh docker exec -it $CONTAINER bash # hostnameコマンドを実行 sudo docker exec $CONTAINER hostname または sudo docker exec $CONTAINER bash -c 'hostname'
ベースイメージ:
ツール:
sudo docker system df
sudo docker system df -v
記事:
[Unit] Description=docker-compose example service Requires=docker.service [Service] User=vagrant Type=simple EnvironmentFile=-/etc/sysconfig/compose.d/example Environment=COMPOSE_FILE=/home/vagrant/docker-compose.yml ExecStartPre=-/usr/local/bin/docker-compose -f ${COMPOSE_FILE} kill ExecStart=/usr/local/bin/docker-compose -f ${COMPOSE_FILE} up --abort-on-container-exit ExecStop=/usr/local/bin/docker-compose -f ${COMPOSE_FILE} stop Restart=always RestartSec=180s [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload # 自動実行 sudo systemctl enable example sudo service example start sudo service example stop
version: '3' services: mysql: container_name: mysqld image: mysql:5.7 volumes: # 初期データ投入用dir: 01_create.sql 等を置く - ./mysql/init:/docker-entrypoint-initdb.d # 永続化用 - ./mysql/data:/var/lib/mysql ports: - "3306:3306" environment: MYSQL_DATABASE: db01 MYSQL_USER: user01 MYSQL_PASSWORD: eZfqol7ql7drIkyr MYSQL_ROOT_PASSWORD: NE0byoxdlbo6pefs
mysql -u root -p -h localhost --protocol tcp
sudo docker-compose stop mysql sudo docker-compose rm mysql sudo docker-compose up -d mysql
記事:
portsが未定義だったり、なにかエラーがあると、コンテナが止まってしまう。
「tty: true」をつける事で起動しつづける事ができる
version: '2' services: alpine: image: alpine:latest tty: true
docker-compose up -d docker-compose ps Name Command State Ports ----------------------------------------- example_alpine_1 /bin/sh Up
docker exec -it example_alpine_1 sh
docker-compose kill
"ip": "127.0.0.1"
記事:
sudo yum install docker device-mapper -y sudo systemctl start docker Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details. sudo systemctl status docker.service -l ... 9月 07 15:46:04 centos7-server docker-current[2886]: time="2016-09-07T15:46:04.652301456+09:00" level=error msg="There are no more loopback devices available." # /dev/loop[1:6]を作成 for i in {0..6}; do sudo mknod -m0660 /dev/loop$i b 7 $i;done # 開始 sudo systemctl start docker systemctl enable docker
brew install docker brew cask install docker