Ubuntu Dockerのインストールと使い方

Ubuntu Dockerのインストールと使い方

Docker Engine-Community は、次の Ubuntu バージョンをサポートしています。

  • ゼニアル 16.04 (LTS)
  • バイオニック 18.04 (LTS)
  • コズミック 18.10
  • ディスコ 19.04
  • その他の更新バージョン...

Docker Engine - Community は、x86_64 (または amd64)、armhf、arm64、s390x (IBM Z)、ppc64le (IBM Power) アーキテクチャをサポートしています。

1. 公式インストールスクリプトを使用した自動インストール

インストールコマンドは次のとおりです。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

国内のdaocloudワンクリックインストールコマンドを使用することもできます。

curl -sSL https://get.daocloud.io/docker | sh

手動インストール

古いバージョンをアンインストールする

Docker の古いバージョンは、docker、docker.io、または docker-engine と呼ばれていました。インストールされている場合はアンインストールします。

$ sudo apt-get remove docker docker-engine docker.io containerd runc

Docker Engine - Community パッケージは現在 docker-ce と呼ばれています。

Docker Engine-Community をインストールします。これを行うには 2 つの方法があります。

2. Dockerリポジトリを使用してインストールする

新しいホストに Docker Engine-Community を初めてインストールする前に、Docker リポジトリを設定する必要があります。その後、リポジトリから Docker をインストールして更新できます。

倉庫の設置
apt パッケージ インデックスを更新します。

$ sudo apt-getアップデート

HTTPS 経由でリポジトリを取得するには、apt 依存パッケージをインストールします。

$ sudo apt-get インストール \
    apt-transport-https \
    ca証明書\
    カール\
    gnupgエージェント\
    ソフトウェアプロパティ共通

Docker の公式 GPG キーを追加します。

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key を追加 -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 指紋の最後の 8 文字を検索して、指紋付きのキーが手元にあることを確認します。

$ sudo apt-key フィンガープリント 0EBFCD88
   
出版 rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ 不明] Docker リリース (CE deb) <[email protected]>
サブ rsa4096 2017-02-22 [S]

安定バージョンのリポジトリを設定するには、次のコマンドを使用します。

$ sudo aptリポジトリを追加\
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  安定した"

Docker Engine をインストールする - コミュニティ

apt パッケージ インデックスを更新します。

$ sudo apt-getアップデート

Docker Engine - Community と containerd の最新バージョンをインストールするか、次の手順に進んで特定のバージョンをインストールします。

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Docker Engine - Community の特定のバージョンをインストールするには、リポジトリ内の利用可能なバージョンを一覧表示し、インストールするバージョンを選択します。リポジトリで利用可能なバージョンを一覧表示します。

$ apt-cache マディソン docker-ce

  docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 パッケージ
  docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 パッケージ
  docker-ce | 18.06.1~ce~3-0~ubuntu | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 パッケージ
  docker-ce | 18.06.0~ce~3-0~ubuntu | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 パッケージ
  ...

特定のバージョンをインストールするには、2 番目の列のバージョン文字列を使用します (例: 5:18.09.1~3-0~ubuntu-xenial)。

$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Docker が正常にインストールされたかどうかをテストします。次のコマンドを入力します。次の情報が出力された場合、インストールは成功しています。

$ sudo docker run hello-world

ローカルでイメージ 'hello-world:latest' が見つかりません
最新: library/hello-world から取得
1b930d010525: 完全なダイジェストをプル: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
ステータス: hello-world:latest の新しいイメージをダウンロードしました


Dockerからこんにちは!
このメッセージは、インストールが正常に動作していることを示しています。


このメッセージを生成するために、Docker は次の手順を実行します。
 1. Docker クライアントが Docker デーモンに接続しました。
 2. Docker デーモンは Docker Hub から「hello-world」イメージを取得しました。
    (amd64)
 3. Dockerデーモンは、そのイメージから新しいコンテナを作成し、
    現在読んでいる出力を生成する実行可能ファイル。
 4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、Dockerクライアントはそれを
    端末に。


もっと野心的なことに挑戦するには、次のコマンドで Ubuntu コンテナを実行できます。
 $ docker run -it ubuntu bash


無料の Docker ID を使用して、イメージを共有したり、ワークフローを自動化したりすることができます。
 参考:


その他の例やアイデアについては、以下をご覧ください。
 詳しくはこちら

3. シェルスクリプトを使用してインストールする

Docker は、get.docker.com および test.docker.com で、Docker Engine-Community のエッジ バージョンとテスト バージョンをすばやくインストールする便利なスクリプトを提供しています。スクリプトのソース コードは docker-install リポジトリにあります。 これらのスクリプトは実稼働環境での使用は推奨されません。使用する前に潜在的なリスクを認識しておく必要があります。

  • スクリプトは、root または sudo 権限で実行する必要があります。したがって、スクリプトを実行する前に、スクリプトを慎重に確認して監査する必要があります。
  • これらのスクリプトは、Linux ディストリビューションとバージョンを検出し、パッケージ管理システムを構成しようとします。さらに、スクリプトではインストール パラメータをカスタマイズすることはできません。これにより、Docker の観点からも、組織のガイドラインや標準の観点からも、サポートされていない構成になる可能性があります。
  • これらのスクリプトは、確認を求めずに、パッケージ マネージャーのすべての依存関係と提案をインストールします。ホストの現在の構成によっては、多数のパッケージがインストールされる可能性があります。
  • このスクリプトでは、インストールする Docker のバージョンを指定するオプションは提供されません。代わりに、エッジ チャネルでリリースされた最新バージョンがインストールされます。
  • 他のメカニズムを使用してホストに Docker がすでにインストールされている場合は、この便利なスクリプトを使用しないでください。

この例では、get.docker.com のスクリプトを使用して、Linux に Docker Engine - Community の最新バージョンをインストールします。最新のテスト バージョンをインストールするには、代わりに test.docker.com を使用してください。以下の各コマンドで、get をすべて test に置き換えます。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Docker を非ルート ユーザーとして使用する場合は、次のような方法でユーザーを docker グループに追加することを検討してください。

$ sudo usermod -aG docker あなたのユーザー

Dockerをアンインストールする

インストール パッケージを削除します。

sudo apt-get purge docker-ce

イメージ、コンテナ、設定ファイルなどを削除します。

sudo rm -rf /var/lib/docker

2. コンテナを作成する

イメージをプルします: sudo docker pull centos:7

ここに画像の説明を挿入

コンテナを起動して作成します。

sudo docker run -itd --privileged --name singleNode -h singleNode \
-p 2222:22 \
-p 3306:3306 \
-p 50070:50070 \
-p 8088:8088 \
-p 8080:8080 \
-p 10000:10000 \
-p 60010:60010 \
-p 9092:9092 \
centos:7 /usr/sbin/init

ここに画像の説明を挿入

コンテナに入ります: sudo docker exec -it singleNode /bin/bash

ここに画像の説明を挿入

この時点で、コンテナへの入力は成功しました

5. Dockerでビッグデータ環境を構築する

コンポーネントのインストール

おいしい、すべてきれい
yum -y インストール unzip bzip2-devel vim bashname

SSHパスワードフリーログインの設定

yum インストール -y openssh openssh-server openssh-clients openssl openssl-devel 
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' 
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# SSHサービスを開始する systemctl start sshd

タイムゾーンを設定する

cp /usr/share/zoneinfo/アジア/上海 /etc/localtime

ここに画像の説明を挿入

ファイアウォールがある場合は、それをオフにする必要があります。

systemctl 停止 ファイアウォール
systemctl ファイアウォールを無効にする

フォルダーを作成します:

#解凍したパッケージを保存する mkdir -p /opt/install

コンテナを終了する: exit

ビッグデータコンポーネントパッケージをUbuntuのディレクトリにアップロードし、softwareという名前のディレクトリを作成します。

Ubuntuのコンポーネントパッケージをコンテナにコピーする

sudo docker cp /home/zy/software/ singleNode:/opt/

コンテナに再度入る

sudo docker exec -it singleNode /bin/bash

MySQLをインストールする

インストールパッケージのパスを入力してください

cd /opt/ソフトウェア

パッケージを解凍する

tar zxvf MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar -C /opt/install

依存関係をインストールする

yum -y libaio perl をインストールします

サーバーとクライアントをインストールする

#まずMySQLが解凍されているパスに移動します cd /opt/install
#サーバーをインストールします rpm -ivh MySQL-server-5.5.40-1.linux2.6.x86_64.rpm
#クライアントをインストールします rpm -ivh MySQL-client-5.5.40-1.linux2.6.x86_64.rpm

MySQLを起動して設定する

#ステップ1: systemctl start mysqlを起動する
#ステップ2: ユーザー名とパスワードを設定する /usr/bin/mysqladmin -u root password 'root'
#ステップ3: mysqlを入力する
mysql -uroot -proot 
#ステップ 4: 構成> update mysql.user set host='%' where host='localhost';
> host<>'%' または user='' の場合、mysql.user から削除します。
> 権限をフラッシュします。
#インストールが完了しました

JDKをインストールする

パッケージを解凍する

tar zxvf /opt/software/jdk-8u171-linux-x64.tar.gz -C /opt/install/

ソフトリンクを作成する

#エイリアス: java
ln -s /opt/install/jdk1.8.0_171 /opt/install/java

環境変数を設定します。

vi /etc/プロファイル
#次の設定情報を追加します export JAVA_HOME=/opt/install/java
PATH=$JAVA_HOME/bin:$PATH をエクスポートします

有効な設定ファイル:

ソース /etc/profile

Java バージョンを確認します:

java バージョン

Hadoopをインストールする

パッケージを解凍する

tar zxvf /opt/software/hadoop-2.6.0-cdh5.14.2.tar_2.gz -C /opt/install/

ソフトリンクを作成する

インストールディレクトリにhadoop-2.6.0-cdh5.14.2とhadoop-2.6.0-cdh5.14.2をコピーします。

core-site.xml を構成する

vi コアサイト.xml
-------------------------------------------
<構成>
  <プロパティ>
    <name>fs.defaultFS</name>
    <値>hdfs://singleNode:9000</値>
  </プロパティ>
  <プロパティ>
    <name>hadoop.tmp.dir</name>
    <値>/opt/install/hadoop/data/tmp</値>
  </プロパティ>
</構成>
-------------------------------------------

hdfs-site.xml を構成する

vi hdfs-site.xml
-------------------------------------------
<構成>
  <プロパティ>
    <name>dfs.replication</name>
    <値>1</値>
  </プロパティ
</構成>
-------------------------------------------

mapred-site.xml を構成する

vi mapred-site.xml.テンプレート
-------------------------------------------
<構成>
  <プロパティ>
    <name>mapreduce.framework.name</name>
    <value>糸</value>
  </プロパティ>
  <プロパティ>
    <name>mapreduce.jobhistory.address</name>
    <値>シングルノード:10020</値>
  </プロパティ>
  <プロパティ>
    <name>mapreduce.jobhistory.webapp.address</name>
    <値>シングルノード:19888</値>
  </プロパティ>
</構成>
-------------------------------------------

yarn-site.xml を設定する

vi 糸サイト.xml
-------------------------------------------
<構成>
	<プロパティ>
		<name>yarn.nodemanager.aux-services</name>
		<値>mapreduce_shuffle</値>
	</プロパティ>
	<プロパティ>
		<name>yarn.resourcemanager.ホスト名</name>
		<値>単一ノード</値>
	</プロパティ>
	<プロパティ>
		<name>yarn.log-aggregation-enable</name>
		<値>真</値>
	</プロパティ>
	<プロパティ>
		<name>yarn.log-aggregation.retain-seconds</name>
		<値>604800</値>
	</プロパティ>
</構成>
-------------------------------------------

hadoop-env.sh を設定する

vi hadoop-env.sh
-------------------------------------------
JAVA_HOME=/opt/install/java をエクスポートします。
-------------------------------------------

mapred-env.sh を設定する

vi マップレッド env.sh
-------------------------------------------
JAVA_HOME=/opt/install/java をエクスポートします。
-------------------------------------------

yarn-env.sh を設定する

vi 糸env.sh
-------------------------------------------
JAVA_HOME=/opt/install/java をエクスポートします。
-------------------------------------------

スレーブの設定

HADOOP_HOME=/opt/install/hadoop をエクスポートします。
HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop をエクスポートします。
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH をエクスポートします

HDFS フォーマット

hdfs ネームノード -フォーマット

Hadoop サービスを開始する

すべて開始.sh

ウェブビュー

#アドレス 192.168.**.**:50070 

ここに画像の説明を挿入

Hiveをインストールする

パッケージを解凍する

tar zxvf /opt/software/hive-1.1.0-cdh5.14.2.tar.gz -C /opt/install/

ソフトリンクを作成する

ln -s /opt/install/hive-1.1.0-cdh5.14.2 /opt/install/hive

設定ファイルを変更します。

#設定ファイルのパスに移動します cd /opt/install/hive/conf/

hive-site.xml を変更する

vi hive-site.xml
-------------------------------------------
<構成>
	<プロパティ>
		<name>hive.metastore.warehouse.dir</name>
		<値>/home/hadoop/hive/warehouse</値>
	</プロパティ>
	<プロパティ>
		<name>javax.jdo.option.ConnectionURL</name>
		<値>jdbc:mysql://singleNode:3306/hive?createDatabaseIfNotExist=true</値>
	</プロパティ>
	<プロパティ>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<値>com.mysql.jdbc.Driver</値>
	</プロパティ>
	<プロパティ>
		<name>javax.jdo.option.ConnectionUserName</name>
		<値>ルート</値>
	</プロパティ>
	<プロパティ>
		<name>javax.jdo.option.ConnectionPassword</name>
		<値>ルート</値>
	</プロパティ>
	<プロパティ>
		<name>hive.exec.scratchdir</name>
		<値>/home/hadoop/hive/data/hive-${user.name}</値>
		<description>Hive ジョブ用のスクラッチ スペース</description>
	</プロパティ>

	<プロパティ>
		<name>hive.exec.local.scratchdir</name>
		<値>/home/hadoop/hive/data/${user.name}</値>
		<description>Hive ジョブ用のローカル スクラッチ スペース</description>
	</プロパティ>
</構成>
-------------------------------------------

hive-env.sh.template を変更する

vi hive-env.sh.テンプレート
-------------------------------------------
HADOOP_HOME=/opt/install/hadoop
-------------------------------------------

依存関係の追加

cp /opt/software/mysql-connector-java-5.1.31.jar /opt/install/hive/lib/

環境変数を追加する

vi /etc/プロファイル
#次の設定情報を追加します。export HIVE_HOME=/opt/install/hive
PATH=$HIVE_HOME/bin:$PATH をエクスポートします

サービスを開始する

nohup hive --service メタストア &
nohup hive --service hiveserver2 &

プロセスを表示: jps

Sqoopをインストールする

パッケージを解凍する

tar zxvf /opt/software/sqoop-1.4.6-cdh5.14.2.tar.gz -C /opt/install/

ソフトリンクを作成する

ln -s /opt/install/sqoop-1.4.6-cdh5.14.2 /opt/install/sqoop

sqoop-env-template.sh を変更する

cd /opt/install/sqoop/conf/
vi sqoop-env-template.sh
-------------------------------------------
#bin/hadoopが利用可能なパスを設定します
HADOOP_COMMON_HOME=/opt/install/hadoop をエクスポートします。

#hadoop-*-core.jar が利用可能なパスを設定します
HADOOP_MAPRED_HOME=/opt/install/hadoop をエクスポートします。

#bin/hiveが利用可能なパスを設定します
HIVE_HOME=/opt/install/hive をエクスポートします。
-------------------------------------------

依存パッケージを追加する

cp /opt/software/mysql-connector-java-5.1.31.jar /opt/install/sqoop/lib/
cp /opt/software/java-json.jar /opt/install/sqoop/lib/

環境変数を追加する

vi /etc/プロファイル
#次の設定情報を追加します。export SQOOP_HOME=/opt/install/sqoop
PATH=$SQOOP_HOME/bin:$PATH をエクスポートします

バージョンを表示

sqoop バージョン

Ubuntu Dockerのインストール方法と使い方についてはこれで終わりです。Ubuntu Dockerのインストールと使い方の詳細については、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Ubuntu 16.04 に Docker をインストールして使用するチュートリアル
  • Ubuntu 16.04 に Docker をインストールして使用する詳細なチュートリアル
  • Ubuntu 14.04 に Docker をインストールして使用する詳細な説明
  • ubuntu14.04+dockerのインストールと使用

<<:  JavaScriptの無限ループを検出して防止する方法の詳細な説明

>>:  Linux での MySQL マルチインスタンスの展開とインストール ガイド

推薦する

サブメニューをクリックする効果を実現するJavaScript

この記事では、クリック時にサブメニューを表示するためのJavaScriptの具体的なコードを参考まで...

JavaScript キャンバスは影付きのグラフィックとテキストを実装します

キャンバスを使用して、参照用の影付きのグラフィックとテキストを作成します。具体的な内容は次のとおりで...

Vueのカスタムディレクティブの詳細なガイド

目次1. カスタム指示とは何ですか? 2. 指示をカスタマイズする方法フック機能3. 応用シナリオ入...

Javascript配列の重複排除のいくつかの方法の詳細な説明

目次アレイ重複排除1 2層forループ(バブルソートの2層ループ記述に類似) 2 ループとインデック...

WeChatアプレット実装アンカー位置決め機能の例

序文小規模なプログラムの開発では、リストをスクロールして表示する必要性に遭遇することがよくあります。...

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

Dockerコンテナのログ分析

コンテナログを表示するまず、 docker run -it --rm -d -p 80:80 ngi...

HTML リンク アンカー タグと SEO におけるその役割の概要

<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...

エンコードが utf-8 に設定されている場合に Web ページが文字化けする問題の解決策

最近、PHP で Web ページを書いているときに、エンコードを UTF-8 に設定しました。しかし...

Eclipse/Tomcat でホットデプロイメントとホットスタートを実装する方法

1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...

ホワイトボードを踏まないようにするゲームを実装するための HTML+CSS+JS

目次背景1. 思考分析2. ページ構成2.1 HTML レイヤー2.2 CSS レイヤー2.3 JS...

MySQLアカウントのIP制限条件を変更する方法

序文最近、仕事で、MySQL ユーザーの権限を変更するには、特定の IP アドレスへのアクセスを制限...

MySQL 8.0.19 インストール詳細チュートリアル (Windows 64 ビット)

目次MySQLを初期化するMySQL サービスをインストール + MySQL サービスを開始MySQ...