内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
docker
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
<markdown> # Docker ## 起動例 s12v/elasticmq(aws sqsと同じAPIを持ったキュー)を起動してみる ``` docker run -p -d 9324:9324 s12v/elasticmq ``` 一度runするとコンテナが作成されるので ``` $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 750d1a78dc9f s12v/elasticmq "java -Djava.net.pre…" 25 seconds ago Exited (130) 11 seconds ago confident_keller ``` 以後は `docker start CONTAINER_ID` で起動する。IDは一意になる長さまで指定すればOK ``` docker start 750d1a78dc9f ``` ### nginxを起動 * http://localhost:8080/ でアクセス * htdocsをdocument rootとする * hoge.confはバーチャルホスト hoge.nullpon.moe の設定 ``` docker run -p 8080:80 -d -v $(pwd)/htdocs:/usr/share/nginx/html -v $(pwd)/hoge.conf:/etc/nginx/sites-enabled/hoge.conf --name web nginx:latest ``` --nameオプションで名前を指定すると、その名前で停止、再開できる 停止 ``` docker stop web ``` 再開 ``` docker start web ``` ## コマンド ### イメージ一覧 docker images ### コンテナ一覧 docker ps docker ps -a # 起動してないコンテナも表示 ### 起動 docker start コンテナID ### コンテナ削除 docker rm コンテナID ### イメージ削除 コンテナが残っていると削除できないので、先にコンテナを削除する docker rmi イメージID ### イメージのダウンロード コンテナを起動せずにイメージだけ取得する docker pull イメージ名の名前 ### ディスク使用量を見る docker system df docker system df -v ### 使ってないリソースを掃除 docker system prune ### イメージのレイヤーごとのサイズを取得 docker history <image-id> ### 起動中のコンテナに接続 docker exec CONTAINER_ID COMMAND 例) ``` docker exec -it xxxxx bash ``` * -iはinteractive、bashやredis-cli等の対話ツールを使う場合に必要 * -tは擬似端末を設定する、コンソール入出力に必要 ``` docker exec --privileged xxxxx lsof ``` * --privilegedは特権を与える。bashの中で特権が必要なコマンドを呼ぶ場合も必要(コンテナ内のユーザがrootでも!) ``` nullpon@local $ docker exec -it xxxxx bash root@docker # lsof -i # 何も得られない! ``` ``` nullpon@local $ docker exec -it --privileged xxxxx bash root@docker # lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bundle 199 xxxxxx 13u IPv4 234716 0t0 TCP *:3000 (LISTEN) ... ``` ## Dockerfile カスタムイメージの作成。単純にnginx等のサービスを立ち上げるだけなら既存イメージを使うべき Dockerfileという名前のファイルを作成 ``` FROM ubuntu:16.04 MAINTAINER nyan <nyan@nullpon.moe> RUN apt-get -y update RUN apt-get -y install nginx-full ENTRYPOINT /usr/sbin/nginx -g "daemon off;" -c /etc/nginx/nginx.conf ``` ビルド ``` docker build -t nyan:0.3 ./ ``` 起動 ``` docker run -d -p 80:80 nyan:0.3 ``` ビルドキャッシュを削除 ``` docker builder prune ``` ## Docker for mac ### 仮想マシンにログイン ``` $ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty ``` 終了は Ctrl-a, k で ## zsh completion zshでdockerコマンドの補完を有効する方法 ``` mkdir -p ~/.local/share/zsh/functions/ docker completion zsh > ~/.local/share/zsh/functions/_docker ``` homebrewでdockerコマンドをインストールした場合`/opt/homebrew/share/zsh/site-functions`以下に作成されるので不要 ※ 当然だがzshrcでfpathの設定も必要 ```bash # add user completion files to fpath if [[ -d ~/.config/share/zsh/functions ]]; then fpath=(~/.config/share/zsh/functions $fpath) fi # add homebrew completion files to fpath if [[ -d /opt/homebrew/share/zsh/site-functions ]]; then fpath=(/opt/homebrew/share/zsh/site-functions $fpath) fi # zsh completion autoload -U compinit compinit ``` 補完ファイルの置き場はどこでも良い。`~/.zsh/completion`などが多いが、ここはXDG BASE Directoryスタイルに従って`~/.local/share/zsh/functions/`を提案したい。 </markdown>
docker.txt
· 最終更新:
2026/03/08 11:37
by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ