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

推薦する

Vue補間式とv-textディレクティブの違い

目次1. プラグイン式を使用する2. プラグイン式でv-cloakを使用してちらつきの問題を解決する...

MySQLトリガーについて深く理解するための記事

目次1. SC テーブルを挿入または変更するときに、テスト スコアが 0 ~ 100 の範囲外の場合...

よく使われる Docker コマンドと例の概要と分析

目次1. コンテナライフサイクル管理(1)ドッカー実行(2)スタート/ストップ/リスタート(3)ドッ...

Echatsチャートの大画面適応を実装する方法

目次説明する成し遂げるプロジェクトのディレクトリ構造は次のとおりです。効果図は以下のとおりです要約す...

コメント付きのスネークゲームを実装する js

この記事の例では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有しています。具体...

Docker データ管理 (データ ボリュームとデータ ボリューム コンテナー) の詳細な説明

実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共有す...

React+Antdはテーブルの追加、削除、変更の例を実装します

目次テーブル/index.jsテーブル/モデル/index.jsテーブル/モデル/モジュール/bas...

Nginx で CDN サーバーを構築する方法の詳細な説明 (画像とテキスト)

Nginxのproxy_cacheを使用してキャッシュサーバーを構築する1: ngx_cache_...

Nginx の add_header ディレクティブに注意する必要があるのはなぜですか?

序文ご存知のとおり、nginx 構成ファイルは add_header ディレクティブを使用して応答ヘ...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

uniapp WeChatミニプログラムのグローバル共有を実装するためのサンプルコード

目次グローバル共有コンテンツファイルを作成するファイルをインポートしてグローバルに登録するページ共有...

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

実践で遭遇するフロントエンドの基本(HTML、CSS)

1. div css マウスの手の形は cursor:pointer; です。 2. HTML の相...

Nexus サーバーを設定するための詳細な手順

1. ネクサスサービス構築の意義イントラネットの統合プロキシとして、チームで共同開発する場合、全員が...