Configuring Yum Repository Locally on Red Hat Enterprise Linux 6
目次:
- 前提条件
- CentOSにDockerをインストールする
- Sudoを使用せずにDockerコマンドを実行する
- Dockerコマンドラインインターフェイス
- Dockerイメージ
- Dockerコンテナ
- 結論
Dockerは、アプリケーションを迅速に構築、テスト、およびデプロイできるコンテナ化テクノロジーであり、事実上どこでも実行できる自給自足型のコンテナとして使用できます。
このチュートリアルでは、CentOS 7にDocker CEをインストールし、Dockerの基本的な概念とコマンドを調べる方法を説明します。
前提条件
このチュートリアルを進める前に、次の前提条件が満たされていることを確認してください。
- CentOS 7サーバーsudo特権を持つ非rootユーザーとしてログインしています。 新しいsudoユーザーの作成方法については、このガイドを確認してください。
CentOSにDockerをインストールする
Dockerパッケージは、CentOS 7の公式リポジトリで入手できますが、常に最新バージョンであるとは限りません。 推奨されるアプローチは、DockerのリポジトリからDockerをインストールすることです。
CentOS 7サーバーにDockerをインストールするには、次の手順に従います。
-
システムパッケージの更新から開始し、必要な依存関係をインストールします。
sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2次に、次のコマンドを実行して、システムにDocker安定リポジトリを追加します。
sudo yum-config-manager --add-repoDockerリポジトリが有効になったので、次を入力してyumを使用して最新バージョンのDocker CE(Community Edition)をインストールします。
sudo yum install docker-ceDockerパッケージをインストールしたら、Dockerデーモンを起動し、起動時に自動的に起動するように有効にします。
sudo systemctl start dockersudo systemctl enable dockerDockerサービスが実行されていることを確認するには、次のように入力します。
sudo systemctl status docker出力は次のようになります。
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml執筆時点で、Dockerの現在の安定バージョンは
18.06.1であり、Dockerバージョンタイプを出力します。docker -vDocker version 18.06.1-ce, build e68fc7a
Sudoを使用せずにDockerコマンドを実行する
デフォルトの管理では、Dockerには管理者権限が必要です。
sudo
を付加せずに非ルートユーザーとしてDockerコマンドを実行する場合は、Docker CEパッケージのインストール中に作成されたdockerグループにユーザーを追加する必要があります。 次のように入力して、それを行うことができます。
sudo usermod -aG docker $USER
$USER
は、ユーザー名を保持する環境変数です。
ログアウトしてから再度ログインし、グループメンバーシップを更新します。
Dockerが正常にインストールされ、sudoなしでdockerコマンドを実行できることを確認するには、次のコマンドを発行してテストイメージをダウンロードし、コンテナーで実行し、「Hello from Docker」メッセージを出力して終了します。
docker container run hello-world
出力は次のようになります。
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
Dockerコマンドラインインターフェイス
Dockerが正常にインストールされたので、docker CLIの基本構文を見てみましょう。
dockerコマンドラインは次の形式を取ります。
docker
パラメーターなしで
docker
と入力すると、使用可能なすべてのコマンドを一覧表示できます。
docker
Dockerイメージ
Dockerイメージは、実行可能なソフトウェアアプリケーションを構成するイメージのDockerfile内の命令を表す一連のレイヤーで構成されています。 イメージとは、アプリケーションと、アプリケーションの実行に必要なバイナリ、ライブラリ、命令などのその他すべての依存関係を含む不変のバイナリファイルです。 つまり、Dockerイメージは本質的にDockerコンテナーのスナップショットです。
Docker Hubはクラウドベースのレジストリサービスであり、他の機能の中でも特にDockerイメージをパブリックまたはプライベートリポジトリに保持するために使用されます。
Docker Hubリポジトリで画像を
search
するには、
search
サブコマンドを使用し
search
。 たとえば、CentOSイメージを検索するには、次を実行します。
docker search centos
出力は次のようになります。
NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 ansible/centos7-ansible Ansible on Centos7 109 jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 tutum/centos Simple CentOS docker image with SSH access 39
ご覧のとおり、検索結果には
NAME
、
DESCRIPTION
、
STARS
、
OFFICIAL
、および
AUTOMATED
5つの列を持つテーブルが印刷されます。 公式イメージは、Dockerがアップストリームパートナーと共同で開発したイメージです。
CentOS 7の公式ビルドをダウンロードする場合、
image pull
サブコマンドを使用してダウンロードできます。
docker image pull centos
Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest
インターネットの速度に応じて、ダウンロードには数秒または数分かかる場合があります。 画像がダウンロードされると、次のように画像を一覧表示できます。
docker image ls
出力は次のようになります。
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB
何らかの理由でイメージを削除する場合は、
image rm
サブコマンドを使用して削除できます。
docker image rm centos
Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0
Dockerコンテナ
イメージのインスタンスは、コンテナと呼ばれます。 コンテナは、単一のアプリケーション、プロセス、またはサービスのランタイムを表します。
これは最も適切な比較ではないかもしれませんが、プログラマーであれば、Dockerイメージをクラス、Dockerコンテナーをクラスのインスタンスと考えることができます。
docker container
サブコマンドを使用して、コンテナーを開始、停止、削除、および管理できます。
次のコマンドは、CentoOSイメージに基づいてDockerコンテナーを開始します。 画像がローカルにない場合は、最初にダウンロードします:
docker container run centos
一見、何も起こらなかったように思えるかもしれません。 まあ、それは真実ではありません。 CentOSコンテナーは、長時間実行されるプロセスがなく、コマンドを提供しなかったため、起動直後に停止します。そのため、コンテナーが起動し、空のコマンドを実行して終了しました。
スイッチ
-it
使用すると、コマンドラインを介してコンテナーと対話できます。 インタラクティブコンテナタイプを開始するには:
docker container run -it centos /bin/bash
コンテナーが開始されると出力からわかるように、コマンドプロンプトが変更されます。これは、コンテナー内から作業していることを意味します。
#
実行中のコンテナを一覧表示するには:を入力します。
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli
実行中のコンテナがない場合、出力は空になります。
実行中のコンテナと停止したコンテナの両方を表示するには、
-a
スイッチを渡します。
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon
1つ以上のコンテナを削除するには、コンテナIDを上からコピーして、
container rm
サブコマンドの後に貼り付けます。
docker container rm c55680af670c
結論
CentOS 7マシンにDockerをインストールする方法と、DockerイメージをダウンロードしてDockerコンテナーを管理する方法を学習しました。 Docker Composeについて読むこともできます。これにより、マルチコンテナDockerアプリケーションを定義および実行できます。
このチュートリアルは、Dockerエコシステムの表面をかろうじてスクラッチするだけです。 次の記事のいくつかでは、Dockerの他の側面についても掘り下げていきます。 Dockerの詳細については、Dockerの公式ドキュメントをご覧ください。
CentOS 7でワニスを使用するようにmagento 2を構成する
ページの速度は、オンラインストアの成功に不可欠です。 このチュートリアルでは、Magento 2を設定してVarnishをフルページキャッシュソリューションとして使用する手順を説明します。
CentOS 7でユーザーを追加および削除する方法
ユーザーを追加および削除する方法を知ることは、Linuxユーザーが知っておくべき基本的なスキルの1つです。 このチュートリアルでは、CentOS 7システムでユーザーを追加および削除する方法を説明します。
CentOS 7でスワップスペースを追加する方法
スワップは、物理RAMメモリの容量がいっぱいになったときに使用されるディスク上のスペースです。 このチュートリアルでは、CentOS 7システムにスワップファイルを追加する方法について説明します。







