GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuServerにDockerCE(Community Edition)をインストールする方法

Dockerは、今日の仮想化の世界で最も革新的なテクノロジーです。 Dockerは、実際にはコンテナテクノロジーを提供するオープンソースプロジェクトです。コンテナーは、軽量のVM(仮想マシン)またはその中にLinuxベースのアプリケーションをインストールできるようにするプロセスです。コンテナには独自のカーネル、RAM、CPU、ディスクはありませんが、基盤となるOSカーネル、RAM、CPUコア、ディスクを使用します。

コンテナは、仮想マシンがリソースベースの分離を提供するプロセスベースの分離を提供します。コンテナーの主な利点は、コンテナーの起動が実際にはLinuxでプロセスを開始するため、1秒未満でコンテナーをプロビジョニングできることです。

この記事では、Ubuntu 18.04 /16.04 LTSにコミュニティdocker-ce(コミュニティエディション)をインストールしてセットアップする方法について説明します。Docker-CEの前提条件を以下に示します:

  • 64ビットOS
  • カーネルバージョン3.10以降

ステップ:1以下のコマンドを使用してパッケージデータベースを更新します

まず、「 aptupdate」を使用してパッケージデータベースを更新しましょう。 ‘コマンド

 [メール保護]:〜$ sudo apt update 

ステップ:2Docker公式リポジトリのGPGキーを追加する

Dockerエンジンパッケージは、デフォルトのUbuntu16.04サーバーのリポジトリでは利用できません。以下のコマンドを使用して、DockerリポジトリのGPGキーを追加しましょう。

 [メール保護]:〜$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -OK [メール保護]:〜$ 

次に、「 apt-add-repository」を使用してdocker-ceリポジトリを追加します。 ‘コマンド

 [メール保護]:〜$ sudo add-apt-repository "deb [arch =amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs)stable" 

docker-ceリポジトリを追加したので、パッケージインデックスを再度更新します

 [メール保護]:〜$ sudo apt update 

ステップ:3aptコマンドを使用してdockerengineパッケージをインストールします。

下のapt-getコマンドを実行して、最新バージョンのdocker-ceをインストールします

 [メール保護]:〜$ sudo apt-get install docker-ce docker-ce-cli containerd.io -y 

docker-engineをインストールしたら、次のコマンドを使用してdockerサービスを開始して有効にします

 [email protected]:〜$ sudo systemctl start docker [email protected]:〜$ sudo systemctl enable docker 

これで、このサーバーはDockerEngineまたはContainerEngineとして機能します。 L2スイッチとして機能し、独自のDHCPサーバーからコンテナにIPアドレスを提供するブリッジも作成されます。

dockerinfo」を使用して、DockerのバージョンとDockerの他の主要なパラメータを確認します ‘コマンド

 [メール保護]:〜$ sudo docker info 

usermod」を使用して、Dockerグループにユーザー名を追加します ‘コマンド、私の場合、ユーザー名は‘ linuxtechi

 [メール保護]:〜$ sudo usermod -aG docker linuxtechi 

Dockerのインストールの部分はこれで完了です。例を挙げて、Dockerのいくつかの基本的なコマンドを理解しましょう。

Dockerコマンドの構文:

#docker{options}コマンド{引数…}

dockerコマンドのオプションを一覧表示するには、「 docker」と入力します ‘端末上

docker engineがインストールされると、デフォルトのレジストリサーバーがdockerコマンドで更新されます。 dockerコマンドを実行してイメージをダウンロードおよび検索すると、レジストリサーバーに移動して、前述のdockerイメージをフェッチします。ただし、設定に従ってこのレジストリアドレスを変更できます。

「dockersearch」コマンドを使用してDockerイメージを検索する

最新のcentosdockerイメージを検索したいとします。

 [メール保護]:〜$ sudo docker search centos 

「dockerpull」コマンドを使用してDockerイメージをダウンロードする

Ubuntu16.04のDockerイメージをダウンロードするとします。

 [メール保護]:〜$ sudo docker pull ubuntu:16.04 

同様に、要件に応じて他のLinuxOSイメージをダウンロードできます

イメージがダウンロードされると、Dockerホストイメージリポジトリにローカルに保存されます。 「dockerimages 」を使用して、ローカルリポジトリで利用可能な画像を一覧表示できます ‘コマンド。

 [メールで保護]:〜$ sudo docker images REPOSITORY TAG IMAGE ID CREATED 

dockerrunコマンドを使用してコンテナをプロビジョニングまたは起動します

Ubuntu16:04コンテナをプロビジョニングしたいとします。

 [メール保護]:〜$ sudo docker run -it --name =mycontainer1 ubuntu:16.04 [メール保護]:/#

上記のコマンド「i ‘はインタラクティブを表し、‘ t ‘はターミナルを表し、コンテナの名前は‘ mycontainer1 ‘およびコンテナイメージは‘ ubuntu:16.04’

注:OSのバージョンについて言及していない場合は、最新のバージョンをプロビジョニングしようとします。

コンテナを停止するには、「 exit」と入力します ’はコンテナコンソールにあります。コンテナを停止せずにDockerエンジンコンソールに戻りたい場合は、「 ctrl + p + q」と入力します。 ‘コンテナコンソールで。

現在実行されているコンテナの数を確認します

dockerps」を使用する ‘コマンド実行中のコンテナを一覧表示し、実行中または停止中のすべてのコンテナを一覧表示するには、‘ docker ps -aを使用します ‘

<前> [Eメール保護]:〜$ sudoのドッキングウィンドウのPS作成したコンテナID画像COMMAND STATUSポートNAMESb5cdf552b56cのubuntu:16.04 "/ binに/ bashの" 9分アップ前に9分には、[電子メールが保護された] mycontainer1:〜$

dockerstopコマンドを使用してコンテナを停止する

最近プロビジョニングしたコンテナ「mycontainer1」を停止しましょう

<前> [Eメール保護]:〜$ sudoをドッカ停止mycontainer1mycontainer1 [メール保護]:〜$ sudoをドッキングウィンドウPS -aCONTAINER CREATED ID画像COMMAND STATUSポートNAMESb5cdf552b56cのubuntu:16.04 "/ binに/ bashの" 15分終了しました(0)前の概要1分前mycontainer1

開始してコンテナ「mycontainer1」に接続します

dockerstart{container_name}」を使用します ’コマンドを使用してコンテナを起動し、コンテナのコンソールを取得するには、コマンドを使用します docker attach {container_name}

 [メール保護]:〜$ sudo docker start mycontainer1mycontainer1 [メール保護]:〜$ sudo docker attach mycontainer1 [メール保護]:/#

デタッチモードでコンテナを起動します。

コンソールにdockerattachコマンドを使用させるために、デタッチモードでcentos7 docker imageから「mycontainer2」という名前のコンテナをもう1つプロビジョニングするとします(つまり、コンテナはバックグラウンドで起動され、コンソールは取得されません)。

<前> [Eメール保護]:〜$ sudoのドッキングウィンドウの実行-dit --name =mycontainer2のCentOS:75efb063260c8d328cf685effa05a610dfbf55ef602c7b14296d27668d9ff004d [メール保護]:〜$ sudoをドッキングウィンドウPS CONTAINER IDイメージコマンドCREATED STATUSポートNAMES5efb063260c8のCentOS:7 "/ binに/ bashの" 28秒前28秒アップmycontainer2b5cdf552b56cubuntu:16.04 "/ bin /bash"1分前9分

コンテナポートをDockerエンジンホストにバインドする

デフォルトでは、コンテナは外部に到達でき、各発信接続はDockerのホストIPアドレスからリクエストが送信されているように見えますが、外部からは誰もコンテナに到達しません。

ポート変換方式を使用して、部外者がコンテナに到達できるようにします。

コンテナ内でWebサイトをホストしたいとします。このコンテナには、Web開発者がssh経由でアクセスします

 [email protected]:〜$ sudo docker run -it -p 8000:80 -p 2000:22 --name =myserver1 centos:7 [[email protected] /]#

上記のコマンドで-p オプションはパッティング(ポートアドレス変換)に使用されます。外部から、誰かがポート2000で私のドッカーのホストIPアドレスをsshしようとすると、その要求はコンテナ「myserver1」の22ポートに転送され、同様に8000ポートで要求されます。コンテナ(myserver1)の80ポートに転送されます

<前> [Eメール保護]:〜$ sudoをドッキングウィンドウPS CONTAINER IDイメージコマンドCREATED STATUSポートNAMESce0375f922ccのCentOS:7 "/ binに/ bashの" 6分まで6分0.0.0.0:2000->22/tcp前に、0.0.0.0 :8000-> 80 / tcpのmyserver15efb063260c8のCentOS:7 "/ binに/ bashの" 38分まで38分のmycontainer2b5cdf552b56cのUbuntuの前:16.04 "/ binに/ bashの" 時間ほどアップ前に47分mycontainer1

コンテナの変更をDockerイメージにコミットする

dockerコマンドには、コンテナーの変更をdockerイメージに保存するコミットオプションがあります。上記のコンテナでウェブサーバーをインストールし、これらの変更をDockerイメージに保存して、将来的にDockerイメージからウェブサーバーコンテナを起動できるようにしたいとします。

 [メール保護]:〜$ sudo docker commit-m"ウェブサービスが追加されました"-a"2016年12月25日日曜日"ce0375f922ccmyserver1:v1sha256:cac1bdb1d48a381c8bac0573dcd888e9595564f5a428bc6d1d3e97b823f646da [メール保護]:〜$画像リポジトリタグ画像のID CREATED SIZEmyserver1 V1がcac1bdb1d48a 25秒
16.04 104bec311bcd 9日MB 129 MB前<なし> <なし> d695e1b36b68 49秒191.8前MBcentos 7 67591570dd29 9日191.8前MBubuntu 191.8前

「dockerrm」コマンドを使用してコンテナを終了/削除します

dockerrm」を使用します ‘名前とIDに基づいてコンテナを削除するコマンド。コンテナを削除する前に、コンテナが停止していることを確認してください。

 [メール保護]:〜$ sudo docker rm mycontainer2mycontainer2 [メール保護]:〜$ 

実行中のコンテナを削除するには

 [メール保護]:〜$ sudo docker rm -f mycontainer2 

ホストのローカルイメージリポジトリからのDockerイメージの削除

docker rmi ‘コマンドは、ホストのローカルイメージリポジトリからDockerイメージを削除または削除するために使用されます

 [email protected]:〜$ sudo docker rmi myserver1:v1Untagged:myserver1:v1Deleted:sha256:cac1bdb1d48a381c8bac0573dcd888e9595564f5a428bc6d1d3e97b823f646da [email protected]:〜$ 

注:docker pushコマンドを使用してカスタマイズしたdockerイメージをdockerハブにアップロードすることもできますが、最初にdockerハブでアカウントを作成し、ターミナルから以下のコマンドを実行する必要があります

 [email protected]:〜$ sudo docker login -u docker-registry- {user_name} [email protected]:〜$ sudo docker push docker-registry- {user_name} / {docker_image_name} 

この記事は以上です。コンテナの操作方法についてのアイデアが得られたと思います。貴重なフィードバックやコメントを共有してください。


Ubuntu
  1. Ubuntu18.04にDockerをインストールする方法

  2. Ubuntu18.04にKubernetesをインストールする方法

  3. Ubuntu 18.04 / Ubuntu 18.10 /Ubuntu19.04にDockerをインストールする方法

  1. Ubuntu18.04にDockerComposeをインストールする方法

  2. UbuntuにRancherをインストールする方法

  3. Ubuntu20.04にDockerComposeをインストールする方法

  1. Ubuntu22.04にDockerをインストールする方法

  2. Ubuntu18.04にMySQLをインストールする方法

  3. Ubuntu18.04にMinecraftサーバーをインストールする方法