Docker 命令速查表

准备事项

# インストール
brew install --cask docker
# 再インストール
brew reinstall --cask docker

# ポートの使用確認
lsof -i:8080
# LISTENとして使用しているportを確認
lsof -i -P | grep "LISTEN"
# ポートの80にアクセス
curl http://localhost:80
# NginxのConfigファイルを見つける
find / -type d -name nginx | xargs grep -r html

# 使われているポートを殺す
sudo lsof -t -i tcp:8000 | xargs kill -9

图像

# イメージの一覧を表示
docker images
# イメージの取得
docker pull nginx
# イメージの履歴を確認する
docker history nginx
# Dockerfileをビルドしてイメージの作成
docker build -t mycontainer:first .

Docker镜像仓库

# イメージ作成
docker build -t <image_name> .
# tagの設定
docker tag <IMAGE_ID> <user_name>/<image_name>:<version>
# hubにpushする
docker push <user_name>/<image_name>:<version>

容器

# 作動中のコンテナ一覧表示
docker ps
# 作動中のコンテナをリアルタイムで表示
watch "docker ps"
# ヘッダを表示しない。よりスッキリした画面になる
watch -t "docker ps"
# 時間間隔指定
watch -n 1 "docker ps" 
# 停止中のコンテナもすべて表示
docker ps --all
docker ps -a
# コンテナの起動
# docker run [オプション] イメージ[:タグ|@ダイジェスト値] [コマンド] [引数...]
# -p {コンテナのポート:ホストのポート} # コンテナのポートをホスト側に公開する
docker run --name {name} -p 80:80 {REPOSITORY/TAG}
# コンテナをバックグラウンドで起動
## バックグラウンドで起動する(Detachする)ので、inputができない、outputが表示されなくなる。
docker run --name nginx -p 80:80 --detach nginx
docker run --name nginx -p 80:80 -d nginx
# コンテナを起動させ続ける
docker run --name {name} -it -p 80:80 -d {REPOSITORY/TAG}
# 作動中のコンテナを停止する
docker stop CONTAINTER_ID
# 停止中のコンテナを再起動する
docker start CONTAINTER_ID
# コンテナのログを表示する
docker logs CONTAINER_ID
# 作動中のコンテナの中にシェルで入る
## - exec
##     - Run a command in a running container
## - exec -i (--interactive)
##     - Keep STDIN open even if not attached
## - exec -t (--tty)
##     - Allocate a pseudo-TTY
## execution 実行、 interactive 対話形式、 tty テレタイプライター => terminalのこと
docker exec -it CONTAINER_ID bash
# コンテナにホストからファイルをコピー
docker run -d --volume $(pwd):/home nginx
# 公式イメージをタグ指定して、build
docker pull nginx:1.18-alpine 
# runして入る
docker run -it <コンテナ名(IDじゃだめ)> sh

# しばらくsudo
sudo -i

消除联系

# Dockerが使用するシステム容量の確認
docker system df
# Build cahcheの消去
docker builder prune
# イメージの消去
docker rmi IMAGE_ID
# 使っていないイメージ,ボリューム,ネットワーク等すべてを消去する
docker system prune -a --volumes
# 止まったコンテナを消去
dokcer rm CONTAINER_ID
# 停止したコンテナを一括消去
docker container prune
# すべてのコンテナを停止
docker stop $(docker ps -aq)
# すべてのコンテナを消去
docker rm $(docker ps -aq)

docker-compose -> Docker容器编排

docker-compose和docker命令的对应关系

docker run --name nginx \
    --env="env_key=env_value" \
    -p 80:80 \
    --volume $(pwd):/usr/share/nginx/html \
    nginx
version: "3.7"
services:
  nginx:
    image: nginx:latest
    container_name: docker_compose_nginx
    environment:
      - env_key=env_value
    ports:
      - "80:80"
    volumes:
      - ${PWD}:/usr/share/nginx/html:ro
# 起動
docker-compose --file docker-compose.yaml up
# 停止
docker-compose -f docker-compose.yaml down
# ログを監視 (followオプションでリアルタイム監視ができるようになります。)
docker-compose -f docker-compose.yaml logs --follow
# ログを見る
docker-compose logs コンテナ名
# Composeで立ち上げたコンテナにアクセスする。
docker-compose exec postgres bash

只有一些容器需要更换新的。

docker-compose rm -fs backend
docker rmi development_backend
docker-compose up backend
广告
将在 10 秒后关闭
bannerAds