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 を実行するとテーブルがロックされますか?

推薦する

HTML のセルパディングとセルスペース属性を図で説明します

セル - 表の内容 セルの余白 (表の余白) (cellpadding) - セルの外側の距離を表し...

ベースリンクタグの使用の紹介ベース

<br />リンクをクリックすると、ポップアップ表示される Web ページ アドレスは ...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

Vueの使用に関する深い理解

目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...

ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント

<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...

HTML テーブル マークアップ チュートリアル (29): セルのライト境界線の色属性 BORDERCOLORLIGHT

セルでは、明るい境界線の色を個別に定義できます。 > 基本構文<TD ボーダーカラーライ...

Vueライフサイクル機能の詳細な説明

目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...

Navicat PremiumでSQLファイルをインポートする方法

今日、最終プロジェクトに取り組み始めましたが、今年はMySQLデータベースを使用したため、Navic...

MySQL シリーズ 13 MySQL レプリケーション

目次1. MySQLレプリケーション関連の概念2. シンプルな1マスター1スレーブアーキテクチャの実...

MySQL はどのようにしてデータの整合性を確保するのでしょうか?

オンライン ビジネスにとってデータの一貫性と整合性が重要であることは明らかです。データが失われないよ...

MySQL 8.0.21.0 コミュニティ エディションのインストール チュートリアル (詳細な図解)

1. MySQLをダウンロードするMySQL 公式 Web サイトにログインし、MSI インストー...

Windows に MySQL をインストールする方法のグラフィック チュートリアル

概要: この記事では主に、Windows 環境に MySQL をインストールする方法について説明しま...

docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法

このケースはCentOS 7システムに基づいていますDockerの使用経験がある人に適していますLi...

CSS3 メディアクエリにおけるデバイス幅と幅の違いの詳細な説明

1.デバイス幅定義: 出力デバイスの画面表示幅を定義します。 Web ページが Safari で開か...

Linux で PCIe のバージョンと速度を確認する方法

PCIE には 4 つの異なる仕様があります。下の図でそのうちの 2 つを見てみましょう。マザーボー...