ドッキングステーションを使用した外部イメージのダウンロードと実行
前の文章までコンテナを勉強していましたが、今は画像を知る番です.
画像を使用して複数のコンテナを作成できます.印鑑はあまり違わないイメージを定義し、スタンプを作成した後、同じ内容を印刷できるように、異なるシステムとサーバ上で複数回実行できます.画像は、すべての設定コマンドとすべてのコードを含む共有可能なパッケージです.コンテナは、これらの画像の具体的な実行例です.画像に基づいてコンテナを実行します.これはダックの核心概念であり、ダックのすべてでもある.
画像の作成とインポートには、次の2つの方法があります.1つ目の方法は、既存の画像を使用することである.たとえば、同僚が構築した、非常に一般的な、事前に構築された正式なイメージ、またはコミュニティで共有されているイメージを使用できます.そのコミュニティはDocker Hubです.
Docker Hubで
とにかく、私たちの最初の容器が作成されました.端末に次のコマンドを入力します.
とにかく、何が起こったのか、それはもう実行されません.前述したように、容器は隔離運転されているからです.ノードイメージに基づいてコンテナを作成して実行しましたが、これは意味がありません.では、次のコマンドを入力します.
すなわち、画像は、コンテナに必要なすべてのコンテンツを保存するために使用され、
画像vsコンテナ
画像を使用して複数のコンテナを作成できます.印鑑はあまり違わないイメージを定義し、スタンプを作成した後、同じ内容を印刷できるように、異なるシステムとサーバ上で複数回実行できます.画像は、すべての設定コマンドとすべてのコードを含む共有可能なパッケージです.コンテナは、これらの画像の具体的な実行例です.画像に基づいてコンテナを実行します.これはダックの核心概念であり、ダックのすべてでもある.
外部イメージの実行
画像の作成とインポートには、次の2つの方法があります.1つ目の方法は、既存の画像を使用することである.たとえば、同僚が構築した、非常に一般的な、事前に構築された正式なイメージ、またはコミュニティで共有されているイメージを使用できます.そのコミュニティはDocker Hubです.
Docker Hubで
node
を検索します.ノードアプリケーションコンテナを構築するために使用できる式ノード図を見つけることができます.このイメージは、誰でも使用でき、本番ノードチームによって導入、作成、メンテナンス、管理されます.$ docker run node
このコマンドは、ドッキングセンターで見つかったノードイメージに基づいてコンテナを作成します.Unable to find image 'node:latest' locally
latest: Pulling from library/node
5492f66d2700: Pull complete
540ff8c0841d: Pull complete
a0bf850a0df0: Pull complete
d751dc38ae51: Pull complete
9720a112e886: Pull complete
c0fdd5e0e250: Pull complete
7f8aea8452c5: Pull complete
ff64236f11e4: Pull complete
d1c060206d96: Pull complete
Digest: sha256:<image-id>
Status: Downloaded newer image for node:latest
表示node:latest
の画像がローカルで見つからない場合は、センタの画像を入力してダウンロードする.中心のノードイメージに基づいてコンテナを作成しました.もちろん、ノードはソフトウェアにすぎません.ノードを実行してインタラクティブshellを得ることができます.ただし、既定では、コンテナは周囲の環境から隔離されています.すなわち,コンテナ内部で動作するインタラクティブシェルは,そのシェルが我々に露出するという意味ではない.とにかく、私たちの最初の容器が作成されました.端末に次のコマンドを入力します.
$ docker ps -a
このうちps
はプロセスの略である.-a
タグを使用して、ドッキングステーションによって作成されたすべてのコンテナとすべてのプロセスを表示します.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
945a5710bb09 node "docker-entrypoint.s…" 7 minutes ago Exited (0) 7 minutes ago hopeful_diffie
9621be7a75a0 8a7a53128083 "docker-entrypoint.s…" 54 minutes ago Exited (137) 9 minutes ago nervous_cerf
bbad01a8ebcf 8a7a53128083 "docker-entrypoint.s…" 11 hours ago Exited (137) 11 hours ago condescending_margulis
最後に生成されたnode
画像.名前が自動的に取得され、Exited
に停止しました.後で、名前の設定方法と一般的なコンテナの構成方法について詳しく説明します.とにかく、何が起こったのか、それはもう実行されません.前述したように、容器は隔離運転されているからです.ノードイメージに基づいてコンテナを作成して実行しましたが、これは意味がありません.では、次のコマンドを入力します.
$ docker run -it node
これは、ホストを介してインタラクティブなセッションをコンテナから露出することを意味します.これで、ノードコマンドを実際に実行できるインタラクティブなノード端末に入ります.たとえば、Shellが1+1
と入力すると、次のようになります.Welcome to Node.js v17.7.2.
Type ".help" for more information.
> 1+1
2
>
ここでは、ノードAPIを使用して結果を得ることができます.ここで重要なのは、ノードが作成されたコンテナで実行されていることです.-it
を追加することで、ターミナルに入り、コンテナとコンテナで実行されているノードと対話することができます.しかし、ノードは私たちのコンピュータで実行されていません.上のShellから,ノードが17.7.2バージョンで対話していることが分かる.Ctrl + C
をダブルクリックしてプロセスを終了し、node -v
を使用してコンピュータノードのバージョンを表示します.$ node -v
v16.14.0
私のコンピュータノードのバージョンは16.14です.つまり、さっきのノードは絶対に私のコンピュータのノードを使うのではなく、私のコンピュータにノードがインストールされていなくても、同じ結果が得られます.これが容器を使う方法です.これはコンテナ操作の最初のステップであり、画像とコンテナの開始でもある.すなわち、画像は、コンテナに必要なすべてのコンテンツを保存するために使用され、
run
コマンドを使用して画像インスタンスを作成する.これにより、画像ベースの特定のコンテナが作成されます.docker ps -a
コマンドを再度入力します.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72fc81d7af38 node "docker-entrypoint.s…" 10 minutes ago Exited (0) 5 minutes ago hardcore_swanson
945a5710bb09 node "docker-entrypoint.s…" 26 minutes ago Exited (0) 26 minutes ago hopeful_diffie
9621be7a75a0 8a7a53128083 "docker-entrypoint.s…" About an hour ago Exited (137) 27 minutes ago nervous_cerf
bbad01a8ebcf 8a7a53128083 "docker-entrypoint.s…" 12 hours ago Exited (137) 11 hours ago condescending_margulis
うーん、同じノードイメージで作成されたコンテナがまた現れ、閉じました.runコマンドを使用して、同じ画像に基づく異なるコンテナを作成および実行できることがわかります.Reference
この問題について(ドッキングステーションを使用した外部イメージのダウンロードと実行), 我々は、より多くの情報をここで見つけました https://velog.io/@jeonbyeongmin/도커로-외부-이미지-다운받아-실행해보기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol