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 マルチインスタンスの展開とインストール ガイド

推薦する

mysql 8.0.15 winx64 解凍バージョン グラフィック インストール チュートリアル

システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...

同じ IP のアクセス頻度を制限するように nginx を設定する方法

1. nginx.conf の http{} に次のコードを追加します。 limit_conn_zo...

「いいね!」機能では MySQL と Redis のどちらを使用すればよいでしょうか?

目次1. 初心者が陥りがちな間違い2. Iteratorのremove()メソッドを使用する3. f...

MySql インポート CSV ファイルまたはタブ区切りファイル

別のライブラリから別のライブラリにデータをインポートする必要がある場合があり、このデータは CSV ...

MySQLの認証コマンドgrantの使い方

この記事の例は MySQL 5.0 以降で実行されます。ユーザー権限を付与するための MySQL コ...

Windows Server 2016 に MySQL 5.7.19 の解凍バージョンをインストールするための詳細なチュートリアル

MySQL 5.7.19 winx64 解凍版のインストールチュートリアルを収録しています。具体的な...

JavaScript配列の一般的なメソッドの詳細な説明

目次元の配列を変更しない方法1. 連結文法:パラメータ:戻り値: 2. 参加する文法:パラメータ:戻...

Ubuntu のインストール グラフィック ドライバーと Cuda チュートリアル

目次1. 元のドライバーをアンインストールする2. 新しいグラフィックカードドライバーをダウンロード...

MySQL の最適化: 高品質の SQL 文を書く方法

序文インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質にば...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...

完璧なアロエベラジェルを選ぶには?完璧なアロエベラジェルの本物と偽物の見分け方

最新のパーフェクト アロエ ベラ ジェルのパッケージ ボックスには、赤いフォントで完璧な英語の文字が...

Docker データ ストレージ tmpfs マウントの詳細な説明

この記事を読む前に、ボリュームとバインドマウントの基本を理解しておいてください。詳細については、次の...

Vue を通じて QR コードスキャン機能を実装する

ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...