LoginSignup
2
2

More than 5 years have passed since last update.

dockerコマンドチートシート

Posted at

自分用のメモ

sudoなしでdockerコマンドを実行する

sudo groupadd docker
sudo gpasswd -a $USER docker
sudo systemctl restart docker

docker-composeを使う

aptで入るのは古いので,

sudo pip install docker-compose

でインストールすると新し目になる.

docker runを試す

docker run -it --rm -v `pwd`:/tmp eisoku9618/kuroiwa_dockefiles_for_latexmk /bin/sh -c "cd /tmp"
  • --rm: コンテナ終了時にコンテナを削除してくれる
  • -it: コンテナ内を操作できる

--rmを付け忘れている場合にコンテナを削除する

docker rm `docker ps -a -q`

とすれば一括削除できる.

passwordなどのcredential情報を渡す

docker secretを使って渡してみる.
docker secretを使うためには

docker swarm init

を最初にしておく必要がある.

ベストな方法かどうかは分からないが, https://qiita.com/ktooi/items/ba156bb1848c31f04949 を参考に,.bash_histroyにcredential情報が残らないように配慮しつつ

docker-compose.yml
version: "3.1"

services:
  app:
    image: nginx
    secrets:
      - my-secret

secrets:
  my-secret:
    external: true

を作って,

read -sp "Please input your password: " __pass; echo
echo ${__pass} | sudo docker secret create my-secret -
docker stack deploy --compose-file=docker-compose.yml hoge

で起動し,

docker ps -a

でコンテナ名を調べて

docker exec -it hoge_app.1.ujwxaonx80ml8qig0ise3kp1s /bin/bash -c "cat /run/secrets/my-secret"

とすると,秘密にしていた情報が渡っていることが分かる.

このように,コンテナ内では秘密に成っていないことに注意.

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2