![AppleIDの2要素認証](/f/027d16b9520fd8d31271ed1324463a58.jpg?width=100&height=100)
Docker はオープンソースであり、一般的なオペレーティングシステムレベルの仮想化です(一般に「コンテナ化」)主にLinuxとWindowsで実行されるテクノロジー。 Docker を使用してアプリケーションを簡単に作成、デプロイ、実行できるようにします コンテナ.
と コンテナ、開発者(およびシステム管理者)は、アプリケーションの実行に必要なすべてのものをアプリケーションにパッケージ化できます –コード、ランタイム、ライブラリ、環境変数、および構成ファイルを1つにまとめて出荷します パッケージ。 はい、それは素晴らしいです!
この記事では、インストール方法を紹介します Docker CE(コミュニティエディション)、Dockerコンテナを作成して実行します Ubuntu 分布。
1. インストールするには Docker CE、まず、古いバージョンのを削除する必要があります Docker 呼ばれた docker
, docker.io
、 また docker-engine
次のコマンドを使用してシステムから。
$ sudo apt-get remove docker docker-engine docker.io containerdrunc。
2. 次に、次のコマンドを使用してリポジトリからDockerをインストールおよび更新するようにDockerリポジトリを設定する必要があります。
$ sudo apt-getupdate。 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-keyadd- $ sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs)stable」
3. aptパッケージインデックスを更新し、の最新バージョンをインストールします Docker CE 次のコマンドを使用します。
$ sudo apt-getupdate。 $ sudo apt-get install docker-ce docker-ce-clicontainerd.io。
UbuntuへのDockerCEのインストール
パッケージリストを読む... 終わり。 依存関係ツリーの構築状態情報の読み取り... 終わり。 次の追加パッケージがインストールされます:aufs-tools cgroupfs-mountpigz。 次の新しいパッケージがインストールされます:aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-clipigz。 0がアップグレードされ、6が新しくインストールされ、0が削除され、167がアップグレードされていません。 50.7MBのアーカイブを取得する必要があります。 この操作の後、243MBの追加のディスク領域が使用されます。 続けますか? [Y / n] y。 取得:1 http://archive.ubuntu.com/ubuntu バイオニック/ユニバースamd64pigz amd64 2.4-1 [57.4 kB] 取得:2 https://download.docker.com/linux/ubuntu バイオニック/安定amd64containerd.io amd64 1.2.4-1 [19.9 MB] 取得:3 http://archive.ubuntu.com/ubuntu バイオニック/ユニバースamd64aufs-tools amd64 1:4.9 + 20170918-1ubuntu1 [104 kB] 取得:4 http://archive.ubuntu.com/ubuntu bionic / universe amd64cgroupfs-すべて1.4をマウント[6,320B] 取得:5 https://download.docker.com/linux/ubuntu バイオニック/安定amd64docker-ce-cli amd64 5:18.09.3〜3-0〜ubuntu-bionic [13.1 MB] 取得:6 https://download.docker.com/linux/ubuntu bionic / stable amd64 docker-ce amd64 5:18.09.3〜3-0〜ubuntu-bionic [17.4 MB] 7秒で50.7MBをフェッチ(7,779 kB / s)..
4. 正常にインストールした後 Docker CE パッケージの場合、システムの起動時にサービスを自動開始および自動有効化する必要があります。次のコマンドを使用して、サービスのステータスを確認できます。
$ sudo systemctl status docker
DockerCEステータスの確認
●docker.service-ロードされたDockerアプリケーションコンテナエンジン:ロードされました(/lib/systemd/system/docker.service; 有効; ベンダープリセット:有効)アクティブ:水2019-03-06 08:06:42 UTC以降アクティブ(実行中)。 2分18秒前ドキュメント: https://docs.docker.com メインPID:5274(dockerd)タスク:8 CGroup:/system.slice/docker.service└─5274/usr / bin / dockerd -H fd:// --containerd = / run / containerd / containerd.sock Mar 06 08:06:41 tecmint dockerd [5274]:time = "2019-03-06T08:06:41.562587408Z" level = warning msg = "Your カーネルはcgrouprtランタイムをサポートしていません」 Mar 06 08:06:41 tecmint dockerd [5274]:time = "2019-03-06T08:06:41.562767803Z" level = warning msg = "カーネルはcgroupblkioweightをサポートしていません" Mar 06 08:06:41 tecmint dockerd [5274]:time = "2019-03-06T08:06:41.562966844Z" level = warning msg = "カーネルはcgroupblkioweight_deviceをサポートしていません" Mar 06 08:06:41 tecmint dockerd [5274]:time = "2019-03-06T08:06:41.565298457Z" level = info msg = "Loading container:start。" Mar 06 08:06:41 tecmint dockerd [5274]:time = "2019-03-06T08:06:41.950942467Z" level = info msg = "デフォルトのブリッジ(docker0)にはIPアドレス172.17.0.0/16が割り当てられています。 デーモンオプション--bipを使用して設定を設定できます。 Mar 06 08:06:42 tecmint dockerd [5274]:time = "2019-03-06T08:06:42.036964493Z" level = info msg = "コンテナの読み込み:完了。" Mar 06 08:06:42 tecmint dockerd [5274]:time = "2019-03-06T08:06:42.156279378Z" level = info msg = "Dockerデーモン" commit = 774a1f4 graphdriver (s)= overlay2 version = 18.09.3。 Mar 06 08:06:42 tecmint dockerd [5274]:time = "2019-03-06T08:06:42.157145045Z" level = info msg = "デーモンが完了しました 初期化」 Mar 06 08:06:42 tecmint systemd [1]:Dockerアプリケーションコンテナエンジンを起動しました。 Mar 06 08:06:42 tecmint dockerd [5274]:time = "2019-03-06T08:06:42.224229999Z" level = info msg = "API listen on /var/run/docker.sock"
5. 最後に、次のことを確認します Docker CE を実行することにより、正しくインストールされます こんにちは世界
画像。
$ sudo docker runhello-world。
DockerCEのインストールを確認する
Dockerからこんにちは! このメッセージは、インストールが正しく機能しているように見えることを示しています。 このメッセージを生成するために、Dockerは次の手順を実行しました:1。 DockerクライアントがDockerデーモンに接続しました。 2. Dockerデーモンは、DockerHubから「hello-world」イメージをプルしました。 (amd64)3。 Dockerデーモンは、現在読み取っている出力を生成する実行可能ファイルを実行するそのイメージから新しいコンテナーを作成しました。 4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、Dockerクライアントはそれをターミナルに送信しました。 より野心的なことを試すには、次のコマンドでUbuntuコンテナーを実行できます。$ docker run -it ubuntu bash無料のDocker IDを使用して、イメージの共有、ワークフローの自動化などを行います。 https://hub.docker.com/ その他の例やアイデアについては、次のWebサイトをご覧ください。 https://docs.docker.com/get-started/
6. に関する情報を取得するには Docker、次のコマンドを実行します。
$ sudo docker infoカーネルバージョン:5.0.0-050000-汎用。 オペレーティングシステム:Ubuntu 18.04.1LTS。 OSType:linux。 アーキテクチャ:x86_64。 CPU:1。 総メモリ:1.452GiB。 名前:テクミント。 ID:FWSB:IRIF:DYL7:PRB5:Y66E:37MY:ISPO:HZVY:6YJO:2IYL:TO6Y:GNB7。 Dockerルートディレクトリ:/ var / lib / docker。 デバッグモード(クライアント):false。 デバッグモード(サーバー):false。 レジストリ: https://index.docker.io/v1/ ラベル:実験的:false。 安全でないレジストリ:127.0.0.0/8。 ライブ復元が有効:false。 製品ライセンス:コミュニティエンジン。
7. に関する情報を取得するには Docker バージョンでは、次のコマンドを実行します。
$ sudodockerバージョン クライアント:バージョン:18.09.3 APIバージョン:1.39 Goバージョン:go1.10.8 Gitコミット:774a1f4ビルド:Thu Feb 28 06:53:11 2019 OS / Arch:linux / amd64実験:falseサーバー:Dockerエンジン- Community Engine:バージョン:18.09.3 APIバージョン:1.39(最小バージョン1.12)Goバージョン:go1.10.8 Gitコミット:774a1f4ビルド:Thu Feb 28 05:59:55 2019 OS / Arch:linux / amd64実験的: NS。
8. 使用可能なすべてのDockerコマンドのリストを取得するには、 docker
ターミナルで。
$ docker 使用法:docker [オプション]コマンドコンテナの自給自足ランタイムオプション:-config stringクライアント構成ファイルの場所(デフォルトは「/home/tecmint/.docker」)-D、-debug デバッグモードを有効にする-H、-host list -lに接続するデーモンソケット、-log-level stringログレベルを設定します( "debug" | "info" | "warn" | "error" | "fatal ")(デフォルトの" info ")-tls使用 TLS; --tlsverifyによって暗示されます--tlscacertstringこのCAによってのみ署名された信頼証明書(デフォルト "/home/tecmint/.docker/ca.pem")--tlscert string TLS証明書ファイルへのパス(デフォルト "/home/tecmint/.docker/cert.pem")--tlskey string TLSキーファイルへのパス(デフォルトは" /home/tecmint/.docker/key.pem")--tlsverify TLSを使用して、リモートを確認します-v 、-versionバージョン情報を出力します 管理コマンドを終了します。ビルダービルド構成の管理Docker構成コンテナーの管理コンテナーエンジンの管理Dockerエンジンイメージの管理イメージネットワークの管理ネットワークノードの管理 Swarmノードプラグインの管理プラグインシークレットの管理Dockerシークレットサービスの管理サービススタックの管理Dockerスタックの管理swarmSwarmシステムの管理Dockerの信頼の管理Dockerの信頼の管理 画像ボリュームボリュームの管理...
9. Dockerコンテナーを実行するには、まず、からイメージをダウンロードする必要があります。 DockerHub –リポジトリから無料の画像を提供します。
たとえば、Dockerイメージをダウンロードするには CentOS 7
、次のコマンドを発行します。
$ sudo docker search centos名前説明STARSOFFICIALAUTOMATED。 centosCentOSの公式ビルド。 5227 [OK] ansible / centos7-Centos7120でのansible [OK] jdeathe / centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804x86…107 [OK] consol / centos-xfce-vnc「ヘッドレス」VNCセッションを備えたCentosコンテナ…81 [OK] imagine10255 / centos6-lnmp-php56 centos6-lnmp-php56 50 [OK] centos / mysql-57-centos7 MySQL 5.7SQLデータベースサーバー47tutum / centosSSHアクセスを使用した単純なCentOSドッカーイメージ43gluster / gluster-centos公式GlusterFSイメージ[CentOS-7 + Glust…40 [OK] openshift / base-centos7Source-To-I用のCentos7派生ベースイメージ…39centos / postgresql-96-centos7PostgreSQLは高度なものです オブジェクトリレーショナル…37centos / python-35-centos7 Python3.5を構築および実行するためのプラットフォーム…33kinogmt / centos-sshCentOSとSSH 26 [OK] openshift / jenkins-2-centos7Centos7ベースのJenkinsv2.xイメージで使用…20centos / php-56-centos7 PHP 5.6apを構築および実行するためのプラットフォーム…19ピボットデータ/ centos-gpdb-devGPDB用のCentOSイメージ 発達。 タグ名…10openshift / wildfly-101-centos7Centos7ベースのWildFlyv10.1イメージを使用…6 openshift / jenkins-1-centos7非推奨:Centos7ベースのJenkins v1.xima…4darksheer / centosベースCentosイメージ- 時間ごとに更新3 [OK] ピボットデータ/ centosベースセントス、Do…2で少し更新pivotaldata / centos-mingwmingwツールチェーンを使用してt…2をクロスコンパイルする ピボットデータ/ centos-gcc-toolchainツールチェーンを備えたCentOS、ただし関連のないwi…1 openshift / wildfly-81-centos7Centos7ベースのWildFlyv8.1イメージで使用…1 blacklabelops / centos CentOSベースイメージ! 毎日構築および更新されます! 1 [OK] smartentry / centos centos with smartentry 0 [OK] jameseckersall / sonarr-centOS Sonarr on CentOS 7 0 [OK]
10. 要件に基づいて実行するイメージを決定したら、以下のコマンド(この場合は CentOS 画像をダウンロードして使用します)。
$ docker pull centos デフォルトタグの使用:最新。 最新:ライブラリ/ centosからのプル。 a02a4930cb5d:プル完全ダイジェスト:sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426。 ステータス:centosの新しい画像をダウンロードしました:最新。
11. ホストで使用可能なすべてのDockerイメージを一覧表示するには、次のコマンドを実行します。
$ sudodocker画像 リポジトリタグの画像ID作成サイズ。 hello-world最新のfce289e99eb92か月前1.84kB。 centos最新1e1148e4cc2c3か月前202MB。
12. 必要ない場合 Docker 画像が表示され、次のコマンドを使用して削除できます。
$ sudo docker rmi centos タグなし:centos:最新。 タグなし: [メール保護]:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426。 削除:sha256:1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb。 削除:sha256:071d8bd765171080d01682844524be57ac9883e53079b6ac66707e192ea25956。
13. Dockerコンテナーを作成して実行するには、最初にダウンロードしたコマンドを実行する必要があります CentOS
イメージなので、基本的なコマンドは、を使用してコンテナ内の配布バージョンファイルを確認することです。 catコマンド、示されているように。
$ docker run centos cat / etc / issue。
14. コンテナを再度実行するには、最初に コンテナIDまたは名前 次のコマンドを実行すると、実行中および停止中のコンテナーのリストが表示されます。
$ sudo docker ps -l コンテナIDイメージコマンドが作成したステータスポート名。 0ddfa81c5779 centos "cat / etc / issue"約1分前終了(0)約1分前 elastic_shirley
15. 一度 コンテナIDまたは名前 を取得したら、次のコマンドを使用してコンテナを起動できます。
$ sudo docker start 0ddfa81c5779 また。 $ sudo docker start elastic_shirley
ここでは、文字列 0ddfa81c5779
コンテナIDを表し、 elastic_shirley
コンテナ名を表します。
16. 実行中のコンテナの実行を停止するには Dockerストップ
コマンドを指定して コンテナIDまたは名前.
$ sudo docker stop 0ddfa81c5779 また。 $ sudo docker stop elastic_shirley
17. より良い方法は、コンテナIDを覚えておく必要がないようにするために、を使用して作成する各コンテナに一意の名前を定義することです。 - 名前
示されているオプション。
$ docker run --name myname centos cat / etc / issue。
18. Linuxコマンドをコンテナに接続して実行するには、次のコマンドを発行します。
$ docker run -it centos bash [[メール保護] /]#uname-a。 Linux 6213ec547863 5.0.0-050000-generic#201903032031 SMP Mon Mar 4 01:33:18 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux。 [[メール保護] /]#cat / etc / redhat-release CentOS Linuxリリース7.6.1810(コア)
19. 実行中のコンテナセッションを終了してホストに戻るには、次のように入力する必要があります 出口
示されているコマンド。
$出口。
基本的なコンテナ操作は以上です。 この記事について質問やコメントがある場合は、以下のフィードバックフォームを使用してご連絡ください。