ドッキングステーションの基本概念


dockerとは?


アプリケーションをコンテナ単位でパッケージ化および導入するプラットフォーム.
  • 容器とは?使いやすいVM.複雑な設定なしで簡単にサーバを作成できます.
  • コンテナで実行されるプロセスは、他のすべてのプロセッサと同様にホストオペレーティングシステムで実行されますが、他のプロセスから分離されます.したがって、プロセスの観点から、システムおよびオペレーティングシステム上で実行される唯一のプロセスであるように見えます.
  • どうしてこのように隔離することができますか?
  • Linuxネーミングスペース
  • コントロールグループ
  • 主な概念

  • イメージ:アプリケーションおよびその環境のパッケージング
  • レジストリ:リポジトリ
  • コンテナ:画像に基づいて作成されたフロー
  • さぎょうげんり

  • RegistryではcorImageおよびContainerを導入してもよい.
  • ドッキングライフサイクル



    マルチステージ


    :ドッキングイメージの作成時にビルド中に不要なレイヤを削除する必要がある

    しゅうせいめいれい


    イメージ

  • 画像検索コマンド
  • docker search tomcat
    
  • ドッキングイメージのダウンロード
  • docker pull {이미지 이름}:{테그}
  • ドック画像の削除
  • docker rmi {이미지 이름/ 이미지 번호}
  • ダウンロードしたドッキング画像を表示
  • docker images
    画像に「none」と表示されるのは「懸垂」の画像です.
  • 円グラフのみ表示
  • docker images -f dangling=true
  • 最近ダウンロードした2つの画像のみを表示
  • docker images | head -n 3
  • ドッキングイメージ履歴の確認
    :この画像がどのようなプロセスによって生成されたかを決定し、この画像を作成するコマンド
  • docker history nginx:stable

    実行

  • コンテナの作成と実行
  • docker run -d --name {별명} {이미지명}
  • -p:ポート転送(例:-p 80:80)
  • -d:バックグラウンド
  • --restartall alle:ドッキングステーションがインストールされている環境で問題が発生して中断した場合、ドッキングステーションが再起動すると、コンテナも再起動します
  • --再起動no:デフォルト値、システム再起動時にコンテナを再起動しない
  • --再起動-failure:システムの再起動時にコンテナを再起動
  • --restart exception-supted:システムを再起動すると、ユーザーが停止していないコンテナのみが起動します
  • --name:別名(--name mynginx)

  • docker run -d -p 8080:80 --name mynginx --restart always nginx
    
  • 稼働中のコンテナ
  • docker ps
  • 実行中のコンテナをフィルタして表示
  • docker ps -f name=mynginx
  • 実行中のすべてのコンテナを確認
  • docker ps -a
  • 容器IDのみ出力
  • docker ps -q 
  • ドッキングファイルに基づいてイメージを作成する(このパスにはドッキングファイルも含まなければならない)
  • docker build -t {이미지 이름} .
  • 停止容器
  • docker stop {컨테이너 명, 혹은 컨테이너아이디}
  • 特定容器停止
  • docker stop $(docker ps -q -f name=mynginx )
  • クエリー画像のみnginx
  • docker ps -a -f ancestor=nginx
  • 削除容器
  • docker rm {컨테이너 명 혹은 컨테이너 아이디}
  • ラベル付き
  • docker tag {프로그램 명} {이미지명}/{테크}

    適用

  • ドッキングコンテナに関する詳細をJson形式で出力
  • docker inspect {컨테이너 명}
  • 稼働中の容器内部接続
  • 
    docker exec -it {컨테이너 명 } bash
  • 実行中のコンテナへのコマンド
  • docker exec {컨테이너} {리눅스 명령어}
  • レジストリに画像をプッシュ
  • docker push {이미지명}/{테그}
    
  • コンテナに特定のファイルをコピー
  • docker cp {호스트 os의 파일 경로} {컨테이너이름}:{컨테이너 내부 경로}

    ドッキングボリューム


    ボリュームとは?ドッキングコンテナがアクセスできるホストos上のスペース
  • ドッキングボリュームの作成
  • docker volume create {볼륨 이름}
    
  • ボリュームの表示
  • 
    docker volume inspect sample-volume
    [
        {
            "Driver": "local",
            "Labels": {},
            "Mountpoint": "/var/lib/docker/volumes/sample-volume/_data",
            "Name": "sample-volume",
            "Options": {},
            "Scope": "local"
        }
    ]
    
  • Dockerコンテナにボリュームを関連付ける
  • docker run  -v {볼륨명}:{컨테이너 내부 경로} {볼륨명} {컨테이너이미지}
    

    ドッキングイメージコマンド


  • FORM{イメージ名}
    :イメージに基づいたサーバの作成

  • COPY{ホストオペレーティングシステムのファイルパス}{ゲストオペレーティングシステムのファイルパスに移動する}
    :移動するファイル

  • LABEL{キー}={ベルクラス}
    :キークラス形式で画像に説明を追加

  • EXPOSE{ポート番号}
    :このポート番号を使用してコンテナを駆動

  • WORKDIR{ゲストOSパス}
    :作業パス

  • ENTRYPOINT[[実行するコマンド]
    :コンテナで実行するコマンドのリスト
  • マルチステージドッキングイメージコマンド


    :2回構築します.ホストオペレーティングシステム、コンテナ内のゲストオペレーティングシステム
    例)ドッキングファイル
    FROM openjdk:8 AS sample
    RUN chmod 700 mvnw
    RUN ./mvnw clean package
    
    FROM openjdk:8 
    EXPOSE 8089
    COPY --from=sample target/sample.jar /app/sample.jar
    WORKDIR /app
    ENTRYPOINT [ "java", "-jar", "app.jar" ]