2時間のDocker入門チュートリアル

2時間のDocker入門チュートリアル

1.0 はじめに

1.1 Docker とは何ですか?

Docker はもともと、dotCloud の創設者 Solomon Hykes 氏がフランスにいた頃に始めた社内プロジェクトでした。2013 年 3 月に Apache 2.0 ライセンスの下でオープンソース化され、プロジェクトのメイン コードは GitHub で管理されています。

Docker は、Google がリリースした Go 言語を使用して開発および実装されています。

Docker は Linux コンテナのパッケージであり、シンプルで使いやすいコンテナ インターフェイスを提供します。これは最も人気のある Linux コンテナ ソリューションです。

docker インターフェースは非常にシンプルで、ユーザーは簡単にコンテナを作成および破棄できます。

Docker はアプリケーションとその依存関係を 1 つのファイルにパッケージ化します。このファイルを実行すると、仮想コンテナが生成されます。

プログラムは、実際の物理マシン上で実行されるのと同じように、仮想コンテナ内で実行されます。Docker を使用すると、環境の問題を心配する必要がありません。

1.2アプリケーションシナリオ

  • Webアプリケーションの自動パッケージ化と公開
  • 自動テストと継続的インテグレーションとリリース
  • サービス指向環境でデータベースやその他のアプリケーションを導入および調整する

1.3相違点

1. 物理マシン

2. 仮想マシン

3. Dockerコンテナ

1.4 Dockerの3つの主要な概念と利点

1. 画像
2. コンテナ
3. リポジトリ

Dockerは使いやすい

1. システム リソースのより効率的な使用 コンテナーではハードウェア仮想化や完全なオペレーティング システムを実行するための追加のオーバーヘッドが不要なため、Docker はシステム リソースをより効率的に使用します。
アプリケーションの実行速度、メモリ損失、ファイルの保存速度など、従来の仮想マシン テクノロジよりも効率的です。したがって、仮想マシン テクノロジと比較すると、同じ構成のホストでは、より多くのアプリケーションを実行できる場合が多くあります。

2. 起動時間の短縮 従来の仮想マシン技術では、アプリケーション サービスの起動に数分かかることがよくありますが、Docker コンテナー アプリケーションは、完全なオペレーティング システムを起動せずにホスト カーネル上で直接実行されるため、数秒または数ミリ秒で起動できます。開発、テスト、展開にかかる時間を大幅に節約できます。

3. 一貫した動作環境 開発プロセスにおける一般的な問題は、環境の一貫性の問題です。開発環境、テスト環境、本番環境間の不整合により、開発プロセス中にいくつかのバグが検出されませんでした。
Docker イメージはカーネルを除く完全なランタイム環境を提供し、アプリケーション実行環境の一貫性を保証するため、「このコードは私のマシンでは正常に動作します」などの問題は発生しなくなります。

4. 継続的デリバリーとデプロイメント 開発者と運用者 (DevOps) にとって最も望ましいのは、一度作成または構成すれば、どこでも正常に実行できることです。
Docker を使用すると、アプリケーション イメージをカスタマイズして、継続的インテグレーション、継続的デリバリー、およびデプロイメントを実現できます。開発者は Dockerfile を使用してイメージを構築し、継続的インテグレーション システムと組み合わせて統合テストを実行できます。
運用および保守担当者は、イメージを本番環境に直接迅速に展開できるほか、継続的デリバリー/展開システムと組み合わせて自動展開することもできます。
さらに、Dockerfile を使用するとイメージ構築が透明化されるため、開発チームがアプリケーションの実行環境を把握できるだけでなく、運用保守チームもアプリケーションの動作に必要な条件を理解しやすくなり、本番環境にイメージをより適切に展開できるようになります。

5. 移行が容易 Docker は実行環境の一貫性を保証するため、アプリケーションの移行が容易になります。 Docker は、物理マシン、仮想マシン、パブリック クラウド、プライベート クラウド、さらにはラップトップなど、さまざまなプラットフォームで実行でき、実行結果は一貫しています。
そのため、ユーザーは、動作環境の変化によりアプリケーションが正常に動作しなくなることを心配することなく、あるプラットフォームで実行されているアプリケーションを別のプラットフォームに簡単に移行できます。

2.0 Dockerのインストール

システム環境: Docker は少なくとも Centos7 をサポートし、64 ビット プラットフォームではカーネル バージョンが 3.10 以上です。

バージョン: コミュニティ エディション、エンタープライズ エディション (一部有料サービスを含む)

公式バージョンのインストールチュートリアル(英語)

Blogger バージョンのインストール チュートリアル:

# Dockerをインストールする
yumでdockerをインストール
# Dockerを起動する 
systemctl 開始/ステータス docker 
# docker の起動ステータスと docker のバージョンを表示する 

アクセラレータを設定する

はじめに: DaoCloud Accelerator は、国内ユーザーの Docker Hub へのアクセスが遅い問題を解決する人気の Docker ツールです。 DaoCloud アクセラレータは、国内の CDN サービスとプロトコル レイヤーの最適化を組み合わせて、ダウンロード速度を飛躍的に向上させます。

DaoCloud公式サイト

# スピードアップのためのコマンド 1 つ (docker を再起動することを忘れないでください)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://95822026.m.daocloud.io

3.0基本的なDockerコマンド

docker --ヘルプ

使用法:
docker [オプション] コマンド [引数...]

  docker デーモン [ --help | ... ]

  docker [ --help | -v | --version ]

 

あ
コンテナ用の自己完結型ランタイム。

 

オプション:

 

 --config=~/.docker クライアント設定ファイルの場所 # クライアント設定ファイルの場所 -D, --debug=false デバッグ モードを有効にする # デバッグ モードを有効にする -H, --host=[] 接続するデーモン ソケット # デーモン プロセスのソケット接続 -h, --help=false 使用方法を表示する # 使用方法を表示する -l, --log-level=info ログ レベルを設定する # ログ レベルを設定する --tls=false TLS を使用する (--tlsverify によって暗黙的に指定) #

 --tlscacert=~/.docker/ca.pem この CA によってのみ署名された証明書を信頼する #証明書署名 CA を信頼する

 --tlscert=~/.docker/cert.pem TLS 証明書ファイルへのパス #TLS 証明書ファイルのパス --tlskey=~/.docker/key.pem TLS キーファイルへのパス #TLS キーファイルのパス --tlsverify=false TLS を使用してリモートを検証します #TLS を使用してリモートを検証します -v, --version=false バージョン情報を出力して終了します #バージョン情報を出力して終了します コマンド:

 アタッチ 実行中のコンテナにアタッチします #現在のシェルで指定された実行中のイメージにアタッチしますbuild Dockerfile からイメージを構築します #Dockerfile を通じてイメージをカスタマイズしますcommit コンテナの変更から新しいイメージを作成します #現在のコンテナを新しいイメージとして送信しますcp コンテナから HOSTDIR または STDOUT にファイル/フォルダをコピーします #コンテナから指定されたファイルまたはディレクトリをホストにコピーしますcreate 新しいコンテナを作成します #run と同じですが、コンテナを開始せずに新しいコンテナを作成しますdiff コンテナのファイルシステムの変更を検査します #Docker コンテナの変更を表示しますevents サーバーからリアルタイム イベントを取得します #Docker からコンテナのリアルタイム イベントを取得します serviceexec 実行中のコンテナでコマンドを実行します #既存のコンテナでコマンドを実行しますexport コンテナのファイルシステムを tar アーカイブとしてエクスポートします #コンテナのコンテンツ ストリームを tar アーカイブ ファイルとしてエクスポートします (import に対応)

 history イメージの履歴を表示します #イメージの履歴を表示します images イメージを一覧表示します #システムの現在のイメージを一覧表示します import tarball から内容をインポートしてファイルシステムイメージを作成します #tarball の内容から新しいファイルシステムイメージを作成します (export に対応)

 info システム全体の情報を表示します #システム関連の情報を表示します inspect コンテナまたはイメージの低レベル情報を返します #コンテナの詳細を表示します kill 実行中のコンテナを強制終了します #指定された docker コンテナを強制終了します load tar アーカイブまたは STDIN からイメージをロードします #tar アーカイブからイメージをロードします (save に対応)

 login Docker レジストリに登録またはログインします#Docker ソース サーバーに登録またはログインしますlogout Docker レジストリからログアウトします #現在の Docker レジストリを終了しますlogs コンテナーのログを取得します #現在のコンテナーのログ情報を出力しますpause コンテナー内のすべてのプロセスを一時停止します#一時停止しますcontainerport CONTAINER のポート マッピングまたは特定のマッピングを一覧表示します #マップされたポートに対応するコンテナーの内部ソース ポートを表示しますps コンテナーを一覧表示します #コンテナーを一覧表示しますlistpull レジストリからイメージまたはリポジトリをプルします #指定されたイメージまたはライブラリ イメージを Docker イメージ ソース サーバーからプルしますpush イメージまたはリポジトリをレジストリにプッシュします #指定されたイメージまたはライブラリ イメージを Docker ソース サーバーにプッシュしますrename コンテナーの名前を変更します #コンテナーの名前を変更しますrestart 実行中のコンテナーを再起動します #実行中のコンテナーを再起動しますrm 1 つ以上のコンテナーを削除します #1 つ以上のコンテナーを削除しますrmi 1 つ以上のイメージを削除します #1 つ以上のイメージを削除します (イメージを使用しているコンテナーは削除できません。そうでない場合は、続行するには関連するコンテナーを削除するか、-f で強制的に削除する必要があります)

 run 新しいコンテナでコマンドを実行します #新しいコンテナを作成し、コマンドを実行します save イメージを tar アーカイブに保存します #イメージを tar アーカイブとして保存します (load に対応)

 Docker Hub でイメージを検索 #indocker
ハブ内のイメージを検索します。start 停止している 1 つ以上のコンテナーを起動します。stats コンテナーのリソース使用統計のライブ ストリームを表示します。stop 実行中のコンテナーを停止します。tag イメージをリポジトリにタグ付けします。top コンテナーの実行中のプロセスを表示します。unpause コンテナー内のすべてのプロセスを一時停止解除します。version Docker のバージョン情報を表示します。wait コンテナーが停止するまでブロックし、終了コードを出力します。コマンドの詳細については、「docker COMMAND --help」を実行してください。
docker search hello-docker # hello-docker イメージを検索docker search centos # centos イメージを検索docker pull hello-docker # centos イメージを取得docker run hello-world # docker イメージを実行してコンテナ インスタンスを生成します (イメージ ID の最初の 3 桁で実行することもできます)
docker image ls # すべてのローカルイメージを表示 docker images # docker イメージを表示 docker image rmi hello-docker # centos イメージを削除 docker ps # 実行中のコンテナを一覧表示 (作成されたコンテナでプロセスが実行されていない場合、コンテナはすぐに停止します)
docker ps -a # 実行中のコンテナレコードをすべて一覧表示しますdocker save centos > /opt/centos.tar.gz # docker イメージをローカルにエクスポートしますdocker load < /opt/centos.tar.gz # ローカルイメージを docker イメージライブラリにインポートしますdocker stop `docker ps -aq` # 実行中のコンテナをすべて停止しますdocker rm `docker ps -aq` # コンテナレコードをすべて一度に削除しますdocker rmi `docker images -aq` # ローカルイメージレコードをすべて一度に削除します

3.1コンテナを起動する2つの方法

コンテナはアプリケーションを実行するため、基盤としてオペレーティング システムが必要です。

1. イメージに基づいて新しいコンテナを作成し、起動します。

# 1. バックグラウンドでDockerを実行する
docker run -d centos /bin/sh -c "while true;do echo が実行中; sleep 1;done"
 # -d コンテナをバックグラウンドで実行します# /bin/sh は Centos Bash インタープリターの使用を指定します# -c シェル コマンドを実行します# "while true;do echo is running; sleep 1;done" Linux のバックグラウンドで、実行中であることを 1 秒ごとに出力しますdocker ps # コンテナのプロセスを確認しますdocker logs -f コンテナ ID/名前# コンテナのログ情報を継続的に出力しますdocker stop centos # コンテナを停止します# 2. bash ターミナルを起動し、ユーザーが対話できるようにしますdocker run --name mydocker -it centos /bin/bash 
 # --name はコンテナの名前を定義します# -i はコンテナの標準入力を開いたままにします# -t は Docker に擬似端末を割り当て、それをコンテナの標準入力にバインドさせます# /bin/bash は Docker コンテナを指定し、シェルインタープリタと対話します

docker run を使用してコンテナを作成すると、Docker はバックグラウンドで次の手順を実行します。

# 1. 指定されたイメージがローカルに存在するかどうかを確認します。存在しない場合は、パブリック リポジトリからダウンロードします。

# 2. イメージを使用してコンテナを作成し、起動する

# 3. ファイルシステムを割り当て、読み取り専用イメージ層の外側に読み取り/書き込み層をマウントする

# 4. ホストに設定されたブリッジインターフェースからコンテナに仮想インターフェースをブリッジする

# 5. コンテナのアドレスプールからIPアドレスを設定する

# 6. ユーザーが指定したアプリケーションを実行する

# 7. 実行が完了するとコンテナは終了する

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

[root@localhost ~]# docker ps -a # まず、コンテナID、イメージ、コマンド、作成日時、ステータス、ポート、名前のレコードを照会します。
ee92fcf6f32d centos "/bin/bash" 4日前 終了 (137) 3日前 kickass_raman

[root@localhost ~]# docker start ee9 # このコンテナ ee9 を再度起動します

[root@localhost ~]# docker exec -it ee9 /bin/bash # コンテナのインタラクティブインターフェースに入る [root@ee92fcf6f32d /]# # コンテナのユーザー名になっているユーザー名に注意してください

3.2カスタムイメージを送信して作成する

# 1. 対話型 Centos コンテナに入ると、vim コマンド docker run -it centos がないことがわかります。
# 2.現在のコンテナにvimをインストールする
 yum インストール -y vim
# 3. vimをインストールしたら、コンテナを終了します。
# 4. インストールしたばかりのvimのコンテナレコードを確認する docker container ls -a
# 5. このコンテナを送信して新しいイメージを作成する
 docker コミット 059fdea031ba chaoyu/centos-vim
# 6. イメージファイル docker images を表示する
リポジトリ タグ イメージ ID 作成 サイズ
chaoyu/centos-vim 最新 fd2685ae25fe 5 分前 348MB

3.3コンテナへの外部アクセス

ネットワーク アプリケーションはコンテナー内で実行できますが、これらのアプリケーションを外部からアクセスできるようにするには、-p または -P パラメーターを使用してポート マッピングを指定します。

docker run -d -P トレーニング/ウェブアプリ python app.py
 # -P パラメータは、コンテナによって開かれたネットワークポートにポートをランダムにマッピングします # マッピングされたポートを確認します docker ps -l
コンテナID イメージ コマンド 作成ステータス ポート名
cfd632821d7a トレーニング/ウェブアプリ「python app.py」 21 秒前 20 秒前にアップ 0.0.0.0:32768->5000/tcp brave_fermi
#ホストip:32768はコンテナのポート5000をマップします #コンテナのログ情報を表示します docker logs -f cfd # #ログを継続的に表示します

# -p パラメータを使用してマッピングポートを指定することもできます docker run -d -p 9000:5000 training/webapp python app.py

ブラウザを開き、サーバーのポート 9000 にアクセスします。コンテンツには Hello world! と表示されます。通常の起動を示します

(アクセスに失敗した場合は、ファイアウォールとクラウドサーバーのセキュリティグループを確認してください)

4.0 Dockerfileを使用してイメージをカスタマイズする

イメージはコンテナの基礎となります。docker run を実行するたびに、コンテナを実行する基礎としてどのイメージを使用するかを指定します。これまでの例では、すべて Docker Hub のイメージを使用しました。これらのイメージを直接使用しても、特定の要件を満たすことしかできません。イメージがニーズを満たせない場合は、これらのイメージをカスタマイズする必要があります。

イメージのカスタマイズとは、各レイヤーに追加される構成とファイルをカスタマイズすることを意味します。変更、インストール、構築、操作の各レイヤーのコマンドをスクリプトに記述し、そのスクリプトを使用してイメージの構築やカスタマイズを行うことができる場合、このスクリプトが Dockerfile になります。

Dockerfile は、命令を含むテキスト ファイルです。各命令はレイヤーを構築するため、各命令の内容はレイヤーの構築方法を記述します。

パラメータ

最初から #ベースイメージを作成します。公式イメージをベースイメージとして使用してみてください。
FROM centos #ベースイメージを使用する
FROM ubuntu:14.04 #タグ付きベースイメージ

LABEL version="1.0" #コンテナのメタデータ、ヘルプ情報、メタデータ、コードコメントと同様 LABEL manageer="[email protected]"

#複雑な RUN コマンドの場合は、無駄な階層化を避け、バックスラッシュを使用して複数のコマンドを囲み、1 つのコマンドに結合してください。
yum update && yum install -y vim \ を実行します。
 Python-dev #バックスラッシュ 改行 RUN /bin/bash -c "source $HOME/.bashrc;echo $HOME"

WORKDIR /root #Linux の cd コマンドと同等で、ディレクトリを変更します。絶対パスを使用するようにしてください。 ! ! RUN cdは使用しないでください
WORKDIR /test # WORKDIR demo が存在しない場合は自動的に作成します # デモ フォルダに入ります RUN pwd # 印刷結果は /test/demo になります

追加とコピー 
ADD hello / # ローカルファイルをイメージに追加し、ローカルのhello実行ファイルをイメージの/ディレクトリにコピーします。ADD test.tar.gz / # ルートディレクトリに追加し、解凍します。WORKDIR /root
ADD hello test/ # /root/ を入力します。hello 実行可能コマンドをテストディレクトリ (/root/test/hello) に追加します。絶対パス COPY hello test/ # 上記の ADD 効果と同等です。ADD および COPY
 - 最初にCOPYコマンドを使用する - ADDにはCOPY機能に加えて解凍機能があります。リモートファイル/ディレクトリを追加するにはcurlまたはwgetを使用します

ENV # 環境変数。可能な限り ENV を使用して保守性を高めます。 ENV MYSQL_VERSION 5.6 # mysql 定数を設定します。 RUN yum install -y mysql-server="${MYSQL_VERSION}"

上級とはただ(理解すること)

ボリュームと露出
ストレージとネットワーク

RUN と CMD と ENTRYPOINT
RUN: コマンドを実行し、新しいイメージレイヤーを作成します
CMD: コンテナの起動後に実行されるデフォルトのコマンドとパラメータを設定します
ENTRYPOINT: コンテナの起動時に実行するコマンドを設定します

シェル形式とExec形式
yum install -y vimを実行します。
CMD エコー「hello docker」
ENTRYPOINT echo "hello docker"

実行形式
[“apt-get”,”install”,”-y”,”vim”] を実行
CMD [“/bin/echo”,”hello docker”]
エントリポイント [“/bin/echo”,”hello docker”]


シェル形式でコマンドを実行すると、$name 命令が読み取られますが、exec 形式ではシェル命令ではなくコマンドのみが実行されます。
猫Dockerfile
Centosより
ENV名Docker
ENTRYPOINT [“/bin/echo”,”hello $name”]#これはechoコマンドのみを実行し、シェル変数を読み取ることはできません
エントリポイント ["/bin/bash","-c","echo hello $name"]

CMDF
コンテナの起動時に実行されるデフォルトのコマンド。docker run で他のコマンドを指定した場合 (docker run -it [image] /bin/bash)、CMD コマンドは無視されます。複数の CMD が定義されている場合は、最後のものだけが実行されます。

エントリーポイント
コンテナをアプリケーションまたはサービスとして実行することは無視されず、ベストプラクティスを実装する必要があります。エントリポイントとしてシェルスクリプトを記述します。
docker-entrypoint.sh /usr/local/bin にコピーします。
エントリポイント ["docker-entrypoint.sh]
エクスポーズ 27017
CMD [“モンゴッド”]

[root@master home]# Dockerfile の追加
Centosより
ENV名Docker
#CMD ["/bin/bash","-c","echo hello $name"]
エントリポイント ["/bin/bash","-c","echo hello $name"]

5.0 が倉庫にリリースされました

1. Dockerハブには合計でイメージがリリースされている

Docker は GitHub に似たリポジトリである Docker Hub を提供します。

公式サイト(登録必要)


# docker idを登録したら、Linuxでdockerhubにログインします
 dockerログイン

# 画像タグがアカウント名であることを確認してください。画像名が間違っている場合は、タグを変更する必要があります。
 docker タグ chaoyu/centos-vim peng104/centos-vim
 # 構文は次のとおりです: docker tag warehouse name peng104/warehouse name # docker イメージを dockerhub にプッシュします
 docker push peng104/centps-cmd-exec:最新

# dockerhub にアクセスしてイメージを確認します # 最初にローカルイメージを削除してから、プルイメージファイルのダウンロードをテストします docker pull peng104/centos-entrypoint-exec

2. プライベート倉庫

Docker hubはパブリックなので、他の人がダウンロードできます。安全ではないので、Dockerレジストリが提供するプライベートウェアハウスを使用することもできます。

詳しい使い方はこちら

# 1. docker公式プライベートウェアハウスイメージをダウンロードする docker pull registry
# 2. docker プライベートコンテナリポジトリを実行する docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
 -d バックグラウンド実行 -p ポートマッピング ホストマシン 5000: コンテナ 5000
 -v データボリュームはホストの /opt/data/registry:/var/lib/registry をマウントします 
 レジストリ イメージ名 /var/lib/registry プライベート ウェアハウスの保存場所 # Docker では、デフォルトでは非 HTTPS イメージのプッシュは許可されません。この制限は、Docker 構成オプション# 3 で削除できます。Docker 構成ファイルを変更して http モードをサポートし、プライベートイメージをアップロードします。vim /etc/docker/daemon.json 
 # 次の内容を記述します {
  "レジストリミラー": ["http://f1361db2.m.daocloud.io"],
  "安全でないレジストリ":["192.168.11.37:5000"]
 }
# 4. docker サービス設定ファイルを変更する vim /lib/systemd/system/docker.service
# コードブロック [service] を見つけて、次のパラメータ [Service] を記述します。
 環境ファイル=-/etc/docker/daemon.json
# 5. docker サービスをリロードする systemctl daemon-reload
# 6. dockerサービスを再起動します。systemctl restart docker
 # 注意: docker サービスを再起動すると、すべてのコンテナがクラッシュします。 # 7. ローカルイメージのタグを変更し、独自のプライベートリポジトリにプッシュします。 docker tag docker.io/peng104/hello-world-docker 192.168.11.37:5000/peng-hello
 # ブラウザで http://192.168.119.10:5000/v2/_catalog にアクセスしてウェアハウスを表示します。# 8. プライベートウェアハウスイメージをダウンロードします。docker pull 192.168.11.37:5000/peng-hello

6.0 例のデモンストレーション

Dockerfile を記述し、独自のイメージを構築して、Flask プログラムを実行します。

app.py と dockerfile が同じディレクトリにあることを確認してください。

# 1. app.pyのFlaskプログラムを準備する [root@localhost ~]# cat app.py
 FlaskからFlaskをインポート
 アプリ = Flask(__name__)
 @app.route('/')
 デフハロー():
  「hello docker」を返します
 __name__=="__main__"の場合:
  app.run(ホスト='0.0.0.0'、ポート=8080)
 [root@master ホーム]# ls
 app.py Dockerファイル

# 2. Dockerfileを書く
 [root@localhost ~]# cat Dockerfile
 Python:2.7から
 ラベル メンテナー="Warm and New"
 pip install flaskを実行します。
 app.py /app/ をコピーする
 ワークディレクトリ /app
 エクスポーズ8080
 コマンド ["python","app.py"]

# 3. イメージをビルドし、現在のディレクトリで Dockerfile を見つけて、ビルドを開始します (docker build -t peng104/flask-hello-docker)。

# 4. 作成した画像を表示する
 dockerイメージls

# 5. この flask-hello-docker コンテナを起動し、外部アクセス用のポートをマップします。docker run -d -p 8080:8080 peng104/flask-hello-docker

# 6. 実行中のコンテナを確認する docker container ls

# 7. このイメージをプライベートリポジトリ docker タグ peng104/flask-hello-docker 192.168.11.37:5000/peng-flaskweb にプッシュします
 docker push 192.168.11.37:5000/peng-flaskweb

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerのインストールと簡単な使用方法のチュートリアル
  • Docker コンテナで IPython を使用するための入門ガイド
  • Docker コマンドラインの完全ガイド (知っておくべき 18 のこと)
  • Docker コンテナ入門から夢中になるまで(推奨)
  • Dockerのクイックガイド
  • Dockerコンテナの紹介
  • Dockerの簡単なインストールと応用入門チュートリアル
  • Dockerの基礎

<<:  JavaScriptのポイントごとのシリーズでこれは何ですか

>>:  MYSQLは、ショッピングカートに追加する際に重複追加を防ぐためのサンプルコードを実装します。

推薦する

Pythonで書かれたWebアプリケーションをDockerでデプロイする実践

目次1. Dockerをインストールする2. コードを書く3. Dockerfileを書く4. 画像...

GolangでMySQLデータベースを操作するための実装コード

序文Golang は、SQL データベースにアクセスするための database/sql パッケージ...

HTMLでカスタムタグを使用する方法

カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...

SQL 結合クエリの内部結合、外部結合、クロス結合の違いの詳細な説明

データベースを使用するアプリケーションを開発する場合、必然的にユニオンクエリを使用する必要があります...

Linux環境変数の設定に関する完全なガイド

Linux環境変数の設定ソフトウェアのインストールをカスタマイズする場合、多くの場合、環境変数を設定...

nginx パニック問題の解決方法の詳細な説明

nginx パニック問題に関しては、まず nginx の起動プロセス中に、マスター プロセスが構成フ...

CSSを使用してアダプティブスクエアを実装する方法の例

伝統的な方法は、正方形を固定形式で書くことです。長さ=幅を直接書き、次のように固定値を書きます。 。...

Nginx メモリプールのソースコード分析

目次メモリプールの概要1. nginxデータ構造2. nginxはOSからスペースngx_creat...

Vue2とVue3のライフサイクルの比較の詳細な理解

目次サイクル比較使用法要約するサイクル比較ヴュー2ヴュー3作成前設定作成された設定マウント前マウント...

Windows 64 ビット版の MySQL 8.0.15 インストール チュートリアル

まず公式サイトにアクセスしてダウンロードし、MySQLダウンロードをクリックします。 ダウンロードし...

MYSQL ローカルインストールと問題解決

序文この記事はかなり詳細で、少し面倒です。他のチュートリアル ドキュメントでは多くの手順が省略されて...

CSS で 2 つの固定列と 1 つの適応列を実装するいくつかの方法

この記事では、CSS で 2 つの固定列と 1 つのアダプティブ列を実装するいくつかの方法を紹介し、...

Vueメソッドに基づくシンプルなタイマーの実装

Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...

Node.jsを使用してホットリロードページを実装する方法の詳細な説明

序文少し前に、browser-sync+gulp+gulp-nodemon を組み合わせて、本番環境...

MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

目次Linux - MyCat を使用して MySQL マスター スレーブの読み取り書き込み分離を実...