Docker Guides - CLI


Docker CLI


dockerイメージとコンテナを処理するコマンドラインインタフェースについて説明します.

image


まず、Dockerコンテナを作成するための画像を理解する必要があります.
画像は、レジストリアカウント、レジストリ名、タグの3つの情報で構成されています.

Registry


レジストリは、ドッキングイメージを管理するスペースです.
Docker Hub、専用Docker Hub、社内レジストリに分けられます.
特に指定しない場合は、ドックセンター(Docker Hub)をデフォルト値に設定します.
Docker Hub : https://hub.docker.com/

Repository


レジストリでは、画像をGitHubの記憶領域と見なすこともできます.
画像名としても使用できます.

Tag


主に画像を記述するバージョン情報を入力します.
指定されていない場合は、latestとマークされた画像を入力します.

CLI-デフォルトコマンド


docker


image


コマンド画像.
docker image pull
docker pull
docker image ls
docker images
docker image rm
docker rmi

container


コマンドコンテナ.
docker container run
docker run
docker container ls
docker ps
docker container rm
docker rm

pull


画像を受信します.
docker image pull docker/whalesay:latest
docker pull <repository/image:tag>

run


コンテナを実行します.
  • Start the tutorial
  • docker run [OPTIONS] image [COMMAND] [ARG...]
    docker container run --name <container_name> docker/whalesay:latest cowsay boo

    --rm


    一度に画像を受信してコンテナとして実行し、コンテナに関連するリソースを削除します.--rm:容器を一度に運転します.
    docker container run --name <NAMES> --rm docker/whalesay cowsay boo

    --it


    入力を許可し、端末で出力を使用するオプション.
    docker container run -it --rm danielkraic/asciiquarium:latest

    -d


    バックグラウンドでコンテナを実行します.
    docker run -d httpd:latest

    rm


    コンテナを終了します.
    docker image rm
    docker rmi
    docker container rm <NAMES>
    docker rm <CONTAINER_ID>
    
    # 컨테이너가 너무 많을 때 (주의 : 종료된 컨테이너는 복구할 수 없습니다.)
    docker rm -f $(docker ps -aq)

    rmi


    画像を削除します.
    docker image rm
    docker rmi

    ps


    実行中のコンテナのリストを印刷します.
    docker container ps
    docker ps -a
    -a:停止したすべての容器を含む.

    CLI - Copy, Dockerfile


    ドッキング画像をローカルファイルに関連付けます.

    docker


    container


    cp


    実行中のコンテナにローカルファイルをコピーし、画像に入れます.
    docker container cp ./ <NAMES>:/usr/local/apache2/htdocs/

    commit


    実行中のコンテナを画像にします.
    docker container commit <NAMES> my_pacman:1.0

    Dockerfile


    Dockerfileをイメージファイルのドキュメントと見なしてください.
    # Dockerfile
    FROM httpd:2.4 # 베이스 이미지를 httpd:2.4로 사용합니다.
    COPY ./ /usr/local/apache2/htdocs/ # 호스트의 현재 경로에 있는 파일을 /usr/~/에 포함시킵니다.

    build


    Dockerfileを使用してドッキングイメージファイルを作成します.
    docker build --tag my_pacman:2.0 .
    # `.`을 명시 했듯이 Dockerfile이 위치한 경로를 지정해야 됩니다.

    容器内部bash shell


    docker


    exec


    コンテナでbash shellを実行できます.
    $ docker exec -it <NAMES> bash
    root@538de4e5e997:/usr/local/apache2#
    $ root@538de4e5e997:/usr/local/apache2# cd /
    root@538de4e5e997:/#
    $ root@538de4e5e997:/# ls
    bin   data  etc   lib	 mnt  proc  run   srv  tmp  var
    boot  dev   home  media  opt  root  sbin  sys  usr
    $ root@538de4e5e997:/# cd data
    $ root@538de4e5e997:/data# ls
    quiz2.txt
    $ root@538de4e5e997:/data# apt update
    $ root@538de4e5e997:/data# apt install nano
    $ root@538de4e5e997:/data# nano quiz2.txt
    "정답은 이겁니다."

    2つのDocker画像の処理


    Docker composeの動作原理を理解し、使用します.
    nginxイメージに基づくsebcontent/clientイメージを使用してclientコンテナを作成します.
    Nodeイメージベースのsebcontents/serverイメージを使用してサーバコンテナを作成します.

    localhostの8080ポートに接続すると、sebcontent/clientイメージを使用して配置されたクライアントコンテナの80ポートに接続されます.
    上図は非常に簡潔に示されている.ドッキングステーションネットワークに興味がある場合は、docker network、docker bridgeを検索して詳細を検索できます.

    docker-compose

  • docker compose-file Docs
  • up


    docker-compose.yamlで定義した画像をコンテナとして実行します.
    docker-compose up
    -dによってバックグラウンドで実行できます(d=分離).

    down


    docker-compose.yamlで定義した画像を使用して実行するコンテナを閉じます.
    docker-compose down

    up {image}

    docker-compose up {image_name:tag}