Dockerは、開発者とシステム管理者が軽量コンテナとしてどこでもアプリケーションをビルド、パッケージ化、実行するためのオープンプラットフォームを提供するオープンソースプロジェクトです。 Dockerは、ソフトウェアコンテナー内のアプリケーションのデプロイを自動化します。 Dockerの開発は、エンタープライズPaaS(サービスとしてのプラットフォーム)であるdotCloudの内部プロジェクトとしてSolomon Hykesによって開始されましたが、ソフトウェアは現在、dockerコミュニティとDocker Incによって保守されています。Dockerの詳細については、https: //docs.docker.com/。
Dockerのインストールには64ビットアーキテクチャが必要であり、Linuxカーネルは3.10以降である必要があります。ここでは、カーネルバージョン4.15.0でUbuntu 18.04 LTS(Bionic Beaver)を使用します。
Dockerについて知っておくべきこと
ここに、知っておくべきDockerの世界の基本的な用語があります。
Dockerイメージは、Dockerコンテナーの基本的なテンプレートです。イメージには通常、簡単にインストールできるOSとアプリケーションが含まれています。 Dockerイメージはコンテナーの実行に使用され、DockerHubhttps://hub.docker.com/にインストールされているさまざまなオペレーティングシステムとソフトウェアを含む多くのイメージを見つけることができます。
Docker Containerは、Dockerイメージ上で実行される読み取りおよび書き込みが可能なイメージです。 Dockerは、コンテナーのバックエンドとしてunion-file-systemを使用しています。コンテナで行われた変更は、ベースイメージの上の新しいレイヤーに保存されます。コンテナは、アプリケーションをインストールするレイヤーです。各コンテナはホストマシンで分離して実行されるため、安全なアプリケーションプラットフォームを提供します。
Dockerレジストリは、Dockerイメージのリポジトリです。パブリックリポジトリとプライベートリポジトリを提供します。パブリックDockerレジストリはDockerハブと呼ばれます。ここで、独自の画像をプッシュおよびプルできます。
Ubuntu18.04へのDockerのインストール
このセクションでは、dockerをインストールするようにガイドされます。ソフトウェアをインストールする前に、カーネルのバージョンとOSアーキテクチャを確認してください。次のコマンドは、rootユーザーとして実行する必要があります。このコマンドを実行して、Ubuntuシステムのrootになります。
sudo su
次に、uname -aを実行して、現在実行中のLinuxカーネルのバージョンを確認します。
uname -a
64ビットカーネル(x86_64)でカーネルバージョン4.15.0を使用していることがわかります。
Ubuntuのバージョンを確認するには、次のコマンドを実行します:
cat /etc/lsb-release
このコマンドは、Ubuntuのバージョンが18.04であることを示しています。
新しいソフトウェアをインストールする前に、Ubuntuを更新することをお勧めします。次のコマンドを実行して、Ubuntuリポジトリから最新のアップデートを取得し、インストールします。
sudo apt-get update
sudo apt-get upgrade
これで、Dockerをサーバーにインストールする準備が整いました。
Dockerをインストールするには、「Ubuntuリポジトリ」のパッケージまたは「Dockerリポジトリ」のパッケージを使用できます。
UbuntuリポジトリからDockerをインストールする
Ubuntuリポジトリからdockerバージョンをインストールする場合は、以下のaptコマンドを実行できます。
sudo apt install docker.io
インストールが完了するまで待ってから、Dockerを起動し、systemctlコマンドを使用して起動時に追加できます。
systemctl start docker
systemctl enable docker
Dockerのバージョンを確認することもできます:
docker --version
そして、Ubuntuリポジトリからdocker17.12がインストールされます。
DockerリポジトリからDockerをインストールする
Dockerリポジトリからdocker-ceをインストールする前に、以下に示すようにaptコマンドを使用していくつかの依存関係をインストールします。
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
インストールが完了したら、dockerkeyとdockerの「nightly」リポジトリを追加します。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" > /etc/apt/sources.list.d/docker-nightly.list
リポジトリを更新します。
sudo apt update
これで、Dockerリポジトリがシステムに追加されました。
apt-cacheコマンドを使用して、dockerリポジトリによって提供されるすべてのdockerパッケージを確認します。
sudo apt search docker-ce
sudo apt-cache policy docker-ce
また、以下のようにさまざまなDockerバージョンが表示されます。
以下のaptコマンドを使用してインストールしてください。
sudo apt install docker-ce
インストールが完了したら、Dockerサービスを開始し、システムの起動時に毎回起動できるようにします。
systemctl start docker
systemctl enable docker
次に、システムにインストールされているDockerのバージョンを確認します。
docker --version
そして、docker18.xがシステムにインストールされます。これで、DockerレジストリからDockerイメージをダウンロードしてコンテナの作成を開始できます。
dockerを通常/非rootユーザーとして実行するには、新しいシステムユーザーを追加する必要があります。 「hakase」という名前の新しいユーザーを追加してから、「docker」グループに追加します。
'hakase'ユーザーを追加します。
useradd -m -s /bin/bash hakase
passwd hakase
'docker'グループに'hakase'useを追加します。
usermod -aG docker hakase
次に、「hakase」ユーザーとしてログインし、dockerコマンドを実行します。
su - hakase
docker run hello-world
そして、DockerからHelloWorldを取得します。
Dockerの基本的な使用法
このセクションでは、dockerコマンドの一般的に使用されるオプションを示します。例えば。 Dockerイメージをダウンロードする方法、コンテナーを作成する方法、およびコンテナーにアクセスする方法。
新しいコンテナを作成するには、OSでベースイメージを選択することから始める必要があります。 ubuntuまたはcentosまたは別のもの。 docker searchコマンドを使用してベースイメージを検索できます:
docker search ubuntu
このコマンドは、すべてのubuntu画像を表示します。 DockerSearchCentosなどを自分で試すことができます。
次に、ベースイメージをサーバーにダウンロードします。次のコマンドを使用します。
docker pull ubuntu
docker pull image-nameコマンドは、docker Registry/DockerHubからサーバーにイメージをダウンロードします。
これで、次のコマンドを使用して、ダウンロードしたすべての画像を表示できます。
docker images
UbuntuイメージはDockerHub/Dockerレジストリからダウンロードされました。次のステップは、そのイメージからコンテナを作成することです。
コンテナーを作成するには、dockercreateまたはdockerrunを使用できます。
docker create ubuntu:18.04
docker createコマンドは、新しいコンテナーを作成しますが、開始しません。これで、実行コマンドを使用できます:
docker run -i -t ubuntu:18.04 /bin/bash
このコマンドは、ubuntu 18.04イメージに基づいてコンテナーを作成して実行し、コンテナー内でコマンド/ bin / bashを実行します。コマンドを実行すると、自動的にコンテナー内に移動します。
コマンドexitを使用してコンテナーを終了すると、コンテナーは停止します。バックグラウンドで実行されているコンテナが必要な場合は、コマンドに-dオプションを追加するだけです。
docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
注:
/ bin / sh-c"trueの場合;HelloWorldをエコーします;スリープ1;完了しました"これは"helloword"を永久にエコーするbashスクリプトです。
これで、次のコマンドを使用して、コンテナがバックグラウンドで実行されていることを確認できます。
docker ps
または、そのbashコマンドの結果をログで確認したい場合は、次のコマンドを使用できます。
docker logs NAMES/ContainerID
バックグラウンドモードで実行されているコンテナのシェルにアクセスするにはどうすればよいですか?
このコマンドは、コンテナのシェルに接続します:
docker exec -i -t NAMES/ContainerID /bin/bash
実行中のDockerコンテナを入力します。
ホスト名とコンテナIDが等しいことがわかります。これは、コンテナシェルの内部にいることを意味します。そのシェルで`exit`と入力すると、そのシェルは終了しますが、コンテナは引き続き実行されます。
よく使用するもう1つのコマンドは次のとおりです。
docker stop NAME/ContainerID
これにより、コンテナを削除せずに停止するため、次のコマンドでコンテナを再開できます:
docker start NAME/ContainerID
コンテナを削除する場合は、最初にコンテナを停止してから、次のコマンドで削除します。
docker rm NAME/ContainerID
これは、UbuntuでのDockerのインストールと基本的な使用法の簡単な紹介です。詳細なDockerドキュメントページはここにあります。
Dockerの詳細な紹介は、このHowtoforgeチュートリアルシリーズで入手できます:https://www.howtoforge.com/tutorial/how-to-use-docker-introduction/
Dockerは、開発者がアプリケーションをデプロイし、システム管理者が安全な仮想コンテナー環境でアプリケーションを管理するのに役立つオープンソースのコンテナー仮想化プラットフォームです。 DockerはIntel/AMD 64ビットアーキテクチャで実行され、カーネルはより高い3.10バージョンである必要があります。 Dockerを使用すると、コンテナー内でアプリケーションをビルドして実行し、コンテナーをdockerを実行している他のマシンに心配することなく移動できます。