Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

1. テスト環境

名前バージョン
セント7.6
ドッカー18.09.06

2. オンラインインストール

ここでは、yum sourceコマンドを使用して、yum-utils、device-mapper-persistent-data、lvm2などの事前に準備された依存パッケージをインストールします。

sudo yum install -y yum-utils デバイスマッパー永続データ lvm2

公式イメージリポジトリのネットワーク速度が遅いため、ここで Alibaba Cloud イメージプロキシを設定して、イメージをすばやくダウンロードおよびアップロードします。

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

次に、Docker-CE Community Edition をインストールし、次のコマンドを使用して Docker Community Edition のインストール パッケージ リストを表示します。 Dockerのバージョン情報は下の図に示されています。

yum list docker-ce --showduplicates | sort -r

対応するバージョンを選択してdockerをインストールします

sudo yum で docker-ce.x86_64 をインストールします。

起動する

sudo systemctl でdockerを有効にする

sudo systemctl dockerを起動します

検証: バージョン情報コマンドを表示します。次の図が表示されたら、インストールが成功したことを示します。

docker バージョン

3. オフラインインストール

Docker オフライン インストール パッケージをダウンロードするには、次の 3 つの方法があります。

Docker公式アドレス: docker down

1. Baidu Cloudダウンロードアドレス: https://pan.baidu.com/s/1tZpsOvY0wmCfwHXlNJuq8Q 抽出コード: rhaq

2. ネットワークサーバーからダウンロードするには、コマンドを実行します: wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz

3. 公式リファレンスドキュメント: https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries

ダウンロードしたdockerオフラインパッケージをサーバーにコピーし、圧縮されたパッケージを解凍します。

tar -xvf docker-18.09.6.tgz

解凍したdockerファイルの内容を/usr/bin/ディレクトリに移動します。

cp docker/* /usr/bin/

Dockerサービスの登録と編集

vim /etc/systemd/system/docker.service

以下の内容を書いて保存してください

[ユニット]
説明=Docker アプリケーション コンテナ エンジン
ドキュメント=https://docs.docker.com
後=network-online.targetfirewalld.service
欲しいもの=ネットワークオンライン.ターゲット
 
[サービス]
タイプ=通知
# デフォルトでは、cgroupsにsystemdは使用されません。委任の問題が依然として残っているためです。
# が存在し、systemdは現在必要なcgroup機能セットをサポートしていません
# dockerで実行されるコンテナの場合
実行開始=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# 制限値がゼロでない場合、会計オーバーヘッドによりパフォーマンスの問題が発生します
# カーネル内。コンテナローカルアカウンティングを行うには、cgroups を使用することをお勧めします。
LimitNOFILE=無限大
LimitNPROC=無限大
LimitCORE=無限大
# systemd バージョンがサポートしている場合は、TasksMax のコメントを解除します。
# このバージョンをサポートするのは systemd 226 以上のみです。
#タスク最大=無限
タイムアウト開始秒数=0
# systemd が docker コンテナの cgroups をリセットしないように delegate yes を設定します
委任=はい
# cgroup 内のすべてのプロセスではなく、docker プロセスのみを強制終了します
キルモード=プロセス
# docker プロセスが途中で終了した場合は再起動します
再起動=失敗時
開始リミットバースト=3
開始制限間隔=60秒
 
[インストール]
WantedBy=マルチユーザー.ターゲット

権限を追加してから開始

chmod +x /etc/systemd/system/docker.service

設定ファイルを再読み込みする

systemctlデーモンリロード

Dockerを起動する

systemctl ドッカーを起動する

自動起動を設定する

systemctl で docker.service を有効にする

インストールが成功したことを確認する

systemctl ステータス docker

ドッカー -v

**

4. 共通コマンド(インターネットアクセスを必要としないローカルイメージの検索とダウンロード)

**

ミラーを検索、

#docker イメージ名を検索

docker 検索 java

画像をダウンロード

#docker pull イメージ名

docker プル java

ダウンロードした画像を表示する

Docker イメージ

画像の削除

単一のイメージを削除する: docker rmi イメージ名

すべてのイメージを削除します: docker rmi -f $(docker images)

コンテナ作戦

docker run コマンドを使用してコンテナを作成し、起動します。たとえば、java イメージを使用して起動します: docker run java /bin/echo 'Hello World'

その他のオプションの起動パラメータ:

-d オプション: バックグラウンド操作を示します

-P オプション: ランダムポートマッピング

-p オプション: ポート マッピングを指定します。4 つのモードがあります。

① ip:ホストポート:コンテナポート

② ip::コンテナポート

③ ホストポート:コンテナポート

④ コンテナポート

テスト用 Nginx コンテナの例

docker run --name nginxTest -d -p 91:80 nginx

注意: Docker がコンテナを起動すると、コンテナがローカルで利用できない場合は、Docker Hup から参照が自動的にダウンロードされます。

-d # バックグラウンド実行

-p #ホストポート: コンテナポート #コンテナポートをホストポートに開く

–name #カスタムコンテナ名

ブラウザを使用して http://server ip:91 にアクセスします。Nginx のホームページが表示されれば、起動は成功です。

コンテナのステータスを表示する

実行中のコンテナの詳細を表示する docker ps

すべてのコンテナの詳細を表示する docker ps -a

– コンテナID #コンテナID

– 画像 #画像

– 作成済み #作成時間

– ステータス #ステータス Up は実行中、Exited は実行が停止していることを意味します

–ポート #ポート

– 名前 #コンテナ名

コンテナログを表示する

フォーマット: docker logs -f -t --tail line number コンテナ名または docker logs -f -t --tail line number コンテナ ID

docker ログ -f -t --tail 200 483a128fdb39

コンテナを停止する

docker stop コンテナ ID または docker stop コンテナ名

コンテナの強制停止

docker コンテナ ID を強制終了する

停止したコンテナを起動する

docker 開始コンテナ ID

コンテナの再起動

docker コンテナ ID を再起動

コンテナに入る

(1) docker attachコマンドを使用してコンテナを接続すると、複数のウィンドウによって同期表示やブロックの問題が発生する可能性があります。

docker コンテナ ID をアタッチ

(2)nsenterを使ってコンテナに入る

docker examine --format "{{.State.Pid}}" コンテナ ID #pid をクエリ

nsenter --target クエリ pid --mount --uts --ipt --net --pid

(3)バージョン1.3.x以降で利用可能なdocker execコマンドを使用することをお勧めします。

docker exec -it コンテナID /bin/bash

コンテナの詳細を表示

docker コンテナ ID を検査する

コンテナの削除

docker rm コンテナID

#このコマンドは実行中のコンテナを削除できません。削除するには、-fパラメータを追加してください

画像をオフラインパッケージとしてパッケージ化する

docker save -o ファイル名.tar イメージ名

オフライン画像パッケージを読み込む

docker load < ファイル名.tar

Dockerfile を使用して Docker イメージを構築する

上記で作成したNginxを例にdockerfilerファイルを作成します

Dockerfileに触れる

Dockerfilerファイルを編集する

vim Dockerファイル

以下の内容を入力してください

nginxから
#dockerコンテナに入った後にディレクトリを追加する(オプション)
ワークディレクトリ /opt/hello

RUN echo '<h1>Hello World! </h1>' > /usr/share/nginx/html/index.html

Dockerfileがあるパスで次のコマンドを実行します。

nginx をビルドします。

Dockerコンテナを起動する

docker run -d -p 92:80 nginx:my

もちろん、設定ファイルのパスを指定することもできます

docker run -d -p 92:80 -v /u01/hello/config:/opt/hello/config nginx:my

注: -d はバックグラウンドで実行され、-p はポートを外部に公開します: 内部ポート -v Linux ファイル パス: コンテナー内のパス --name コンテナーのニックネーム イメージの開始: バージョン番号

その後は、Linux の /u01/hello/config の設定を変更し、コンテナを再起動してロードするだけです。

ブラウザで http://ip:92 にアクセスすると、「Hello World!」というメッセージが表示されます。

上記の Docker のオンラインおよびオフラインインストールと一般的なコマンド操作に関する記事は、エディターが皆さんと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerサービスコマンドの詳しい説明(まとめ)
  • docker.service の起動に失敗しました: ユニットが見つからない原因と解決策
  • Dockerにおけるオーバーレイネットワークの詳細な説明
  • docker を使用して Kong クラスター操作を構築する
  • Dockerの国内イメージソースを変更する方法
  • docker.service 起動エラーの詳細なトラブルシューティング

<<:  iOS、Android、ミニプログラムアプリの敷居の低い開発のためのフロントエンドフレームワークを詳しく解説

>>:  Mysql トランザクションで Update を実行するとテーブルがロックされますか?

推薦する

MySQL の左結合操作における on 条件と where 条件の違いの紹介

優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...

Pure CSS と Flutter はそれぞれブリージング ライト効果を実現します (サンプル コード)

前回、非常に熱心なファンから、月を呼吸する光の効果にできるかどうか尋ねられました。月の大きさの写真が...

Vueのトグルボタンをクリックしてボタンを有効にし、無効にします。

実装方法は3つのステップに分かれています。テンプレートに 2 つのボタンを設定し、v-if と v-...

HTMLはWEB標準の開発の中心的な基盤です

HTML 中心のフロントエンド開発は、ほぼ Web 標準の意味です。共通しているのは「分離」という考...

vue3 で vue-router を使用するための完全な手順

序文ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vu...

Web デザインのための 5 つのシンプルな XHTML Web フォーム

Web デザイン 5 におけるシンプルな XHTML Web フォーム。 テクニック 1: ラベル ...

スケルトンスクリーン効果を実現する CSS

ネットワーク データを読み込むときは、ユーザー エクスペリエンスを向上させるために、通常は円形の読み...

JavaScriptにおけるこれの深い理解

Jsでのこれの深い理解JavaScriptスコープはstatic scopeスコープですが、 Jsの...

HTMLタグのフルネームと機能の紹介

アルファベット順DTD: このタグが許可される XHTML 1.0 DTD を示します。 S=厳密、...

MySQL データ型の最適化の原則

MySQL は多くのデータ型をサポートしており、高パフォーマンスを得るには適切なデータ型を選択するこ...

LinuxにPython 3.6をインストールして落とし穴を避ける

Python 3のインストール1. 依存環境をインストールするPython3 はインストール プロセ...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの概念、原則、および一般的な使用法につ...

MySQL 8.0.21 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

JavaScript のプロトタイプとプロトタイプチェーンの詳細な説明

目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...