Dockerイメージの作成とプロジェクト全体のワンクリックパッケージングとデプロイ

Dockerイメージの作成とプロジェクト全体のワンクリックパッケージングとデプロイ

一般的な Dockerfile 命令の紹介

命令説明する
から新しいイメージが構築される基となるイメージ。例えば: FROM centos:6
メンテナーイメージ管理者の名前またはメール アドレス。例: MAINTAINER Mr.chen
走るイメージをビルドするときに実行するシェル コマンド。例: RUN ["yum","install","httpd"]
または、yum install httpdを実行します。
CMDFコンテナの実行時に実行されるシェル コマンド (実行時に渡されるパラメーターによって上書きできます)。例: CMD ["-c","/start.sh"]
またはCMD ["/usr/sbin/sshd","-D"] またはCMD /usr/sbin/sshd -D
さらすコンテナが実行されるサービス ポートを宣言します。例: EXPOSE 80 443
環境コンテナ内の環境変数を設定します。例: ENV MYSQL_ROOT_PASSWORD 123456
追加ファイルまたはディレクトリをイメージにコピーします(自動的に解凍またはダウンロードできます)
たとえば、ADD ["src","dest"] または ADD https://xxx.com/html.tar.gz /var/www/html
または: ADD html.tar.gz /var/www/html
コピーファイルまたはディレクトリをイメージにコピーします (自動的に解凍することはできません)。例: COPY ./start.sh /start.sh
エントリーポイントコンテナの実行時に実行されるシェル コマンド (実行時に渡されるパラメーターによって上書きすることはできません)。例: ENTRYPOINT ["/bin/bash","-c","/start.sh"]
または ENTRYPOINT /bin/bash -c "/start.sh"
音量コンテナのマウントポイントを、ホストによって自動的に生成されたディレクトリまたはその他のコンテナに指定します。
例: VOLUME ["/var/lib/mysql"]
ユーザーRUN、CMD、ENTRYPOINTコマンドの実行ユーザーを指定する
例: USER Mr_chen
ワークディレクトリRUN、CMD、ENTRYPOINT、COPY、ADD の作業ディレクトリを設定します (コンテナに入るときに切り替えられるデフォルトのディレクトリを指定します)。
例: WORKDIR /data
ヘルスチェック健康チェック。例: HEALTHCHECK --interval=5m --timeout=3s --retries=3
CMD curl -f http://localhost/ || exit 1
ARGBイメージをビルドするときにいくつかのパラメータを指定します。例: ARG ユーザー

Dockerfileを使用してシンプルなnginxWebイメージを作成する

#まず IPv4 転送を有効にします echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 
sysctl -p
ネット.ipv4.ip_forward = 1

#nginxミラーディレクトリを作成します mkdir -p dockerfile/lib/centos/nginx
dockerfile/lib/centos/nginx をコピーします

#Dockerfileファイルを準備する vim Dockerfile
FROM centos:7 #新しいイメージはどのイメージに基づいて構築されていますか? (構築された nginx は centos7 に基づいており、centos7 のシステム サポートに依存しています。イメージがない場合は、自動的にダウンロードされます。)
MAINTAINER wk #イメージプロデューサー RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel #イメージをビルドするときにシェルコマンドを実行し、yum は nginx の依存パッケージをインストールします ADD nginx-1.12.1.tar.gz /tmp #ファイルまたはディレクトリをイメージにコピーし、圧縮ファイルを自動的に解凍します RUN cd /tmp/nginx-1.12.1 && \ #シェルコマンドを実行して nginx をコンパイルおよびインストールします。make -j は 2 つのスレッドでコンパイルします。/configure --prefix=/usr/local/nginx && \
  make -j 2 && \
  インストールする
RUN rm -rf /tmp/nginx-1.12.1* && yum clean all # nginx ソース パッケージを削除し、yum キャッシュをクリアして、コンテナーを可能な限り軽量にします。 COPY nginx.conf /usr/local/nginx/conf # ファイルまたはディレクトリをイメージにコピーします。 WORKDIR /usr/local/nginx # RUN、CMD、ENTRYPOINT、COPY、ADD の作業ディレクトリを設定します (コンテナーに入るときにデフォルトで切り替えられるディレクトリを指定します)。
EXPOSE 80 #コンテナのポート番号を宣言します CMD ["./sbin/nginx", "-g", "daemon off;"] #コンテナの実行時に実行されるシェルコマンド -g daemon off は、nginx をデーモンプロセスとして起動しません。つまり、nginx をバックグラウンドで起動しません
#準備したnginx-1.12.1.tar.gzとnginx.conf設定ファイルを現在のディレクトリにコピーします。ls
Dockerファイル nginx-1.12.1.tar.gz nginx.conf

#nginx に基づいて docker イメージをビルドします。docker build -t nginx:1 。
#nginx メイン設定ファイル cat conf/nginx.conf
ユーザー root; 
ワーカープロセスは自動です。 

error_log ログ/error.log 情報;

pid ログ/nginx.pid; 


イベント {
  epoll を使用します。 
}

http {

  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log ログ/access.log メイン;
  ファイル送信オン;
  キープアライブタイムアウト65;

  サーバー{
    聞く 80;
    server_name ローカルホスト;
    ルートhtml;
    インデックス index.html index.php;

    場所 ~ \.php$ {
      ルートhtml;
      fastcgi_pass lnmp_php:9000; #lnmp_ph は php コンテナのホスト名で、php の IP アドレスに対応します fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      fastcgi_params を含めます。
    }
  }
}

PHPウェブサイトプラットフォームイメージを構築する

#PHPのミラーディレクトリを作成する mkdir -p /root/dockerfile/lib/centos/php
cd /root/dockerfile/lib/centos/php

#Dockerfileファイルを準備する vim Dockerfile 
FROM centos:7 #新しいイメージは centos7 イメージに基づいています MAINTAINER wk #新しいイメージ プロデューサー RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel #シェルを実行して依存関係をインストールします ADD php-5.6.31.tar.gz /tmp/ #インストール パッケージを /tmp に配置し、自動的に解凍します RUN cd /tmp/php-5.6.31 && \ #php をコンパイルしてインストールし、php スタートアップ ファイルをコピーします。そして、スタートアップ ファイルの設定を変更します。/configure --prefix=/usr/local/php \
  --with-config-file-path=/usr/local/php/etc \
  --with-mysql --with-mysqli \
  --openssl 付き --zlib 付き --curl 付き --gd 付き \
  --with-jpeg-dir --with-png-dir --with-iconv \
  --enable-fpm --enable-zip --enable-mbstring && \
  make -j 4 && \
  インストールする && \
  cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf && \
  sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.conf && \
  sed -i "21a \daemonize = no" /usr/local/php/etc/php-fpm.conf
COPY php.ini /usr/local/php/etc #メインのPHP設定ファイルをコピーします RUN rm -rf /tmp/php-5.6.31* && yum clean all #未使用のファイルを削除し、yumキャッシュをクリアして、コンテナを可能な限り軽量にします WORKDIR /usr/local/php #PHPプログラムの場所でもあるコンテナに入ります EXPOSE 9000 #ポート9000を開きます
CMD ["./sbin/php-fpm", "-c", "/usr/local/php/etc/php-fpm.conf"] #php -c を開いてメインの設定ファイルを指定します #準備した php.ini ファイルと php-5.6.31.tar.gz を現在のディレクトリにコピーします ls
Dockerファイル php-5.6.31.tar.gz php.ini

#php に基づいて docker イメージをビルドします。docker build -t php:1 。

nginx-phpネットワーク環境を作成し、コンテナを起動します

#lnmpというネットワークを作成するdocker network create lnmp
お父さん428646d8f8278f36b80b3b960493aee8be1960bb1f505bfeebc97022b6385

docker ネットワーク ls
ネットワーク ID 名前 ドライバー スコープ
0604a9338e1b ブリッジ ブリッジ ローカル
b68e9da0b1e6 ホスト ホスト ローカル
dad428646d8f lnmp ブリッジ ローカル
cf4b2d0b4394 なし null ローカル

#nginx-php Webページマウントディレクトリを作成する mkdir -p /www

#php コンテナを起動します docker run -dit --name lnmp-php --net lnmp --mount type=bind,src=/www,dst=/usr/local/nginx/html php:1
5b49fc160f9e42364238a937149bbb475036b8a28feddf0fe05c1e70b414a151

#nginx コンテナを起動します docker run -dit --name lnmp-nginx --net lnmp -p 8888:80 --mount type=bind,src=/www,dst=/usr/local/nginx/html nginx:1
7ce4d14cf756859e814186090a12b770916f150ed2a5fab2f0dc6ba8c347aab8

ドッカーps -a
コンテナID イメージ コマンド 作成ステータス ポート名
7ce4d14cf756 nginx:1 "./sbin/nginx -g 'da..." 16 秒前 15 秒前に起動 0.0.0.0:8888->80/tcp lnmp-nginx
5b49fc160f9e php:1 "./sbin/php-fpm -c /…" 6 分前 6 分前 9000/tcp lnmp-php

#テストページを作成するphp.info
echo "<?php phpinfo();?>" > /www/index.php

ブラウザ経由でアクセステスト

JAVAウェブサイト環境イメージを構築する

#Java イメージビルド保存ディレクトリを作成する mkdir -p dockerfile/lib/centos/tomcat
cd dockerfile/lib/centos/tomcat

#必要なソフトウェアパッケージを現在のディレクトリにコピーします ls
apache-tomcat-8.0.46.tar.gz Dockerファイル jdk-8u45-linux-x64.tar.gz server.xml

#Dockerfileを準備する
vim Dockerファイル
Centos:7より      
メンテナーwk

ADD jdk-8u45-linux-x64.tar.gz /usr/local #javaJDK 環境を作成 ENV JAVA_HOME /usr/local/jdk1.8.0_45 #環境変数を強制的に生成 ADD apache-tomcat-8.0.46.tar.gz /usr/local #tomcat を解凍
COPY server.xml /usr/local/apache-tomcat-8.0.46/conf # 設定ファイルをコピーしますRUN rm -f /usr/local/*.tar.gz # インストール パッケージ container lightweight を削除しますWORKDIR /usr/local/apache-tomcat-8.0.46 # 作業ディレクトリ コンテナーが配置されているディレクトリを入力しますEXPOSE 8080 # ポートをマップしますENTRYPOINT ["./bin/catalina.sh", "run"] # catalina を使用します。 sh runはTomcatをフォアグラウンドで起動します

#tomcat に基づいてミラーを構築します docker build -t tomcat:1 。

#Webマウントディレクトリを作成する mkdir -p /app

#Tomcat コンテナ プロセスを開始します。docker run -dit --name=tomcat -p 8080:8080 --network lnmp --mount type=bind,src=/app/,dst=/usr/local/apache-tomcat-8.0.46/webapps tomcat:1

ドッカーps -a
コンテナID イメージ コマンド 作成ステータス ポート名
15eca19688ca tomcat:1 "./bin/catalina.sh r..." 17 秒前 16 秒前にアップ 0.0.0.0:8080->8080/tcp tomcat
7ce4d14cf756 nginx:1 "./sbin/nginx -g 'da..." 2 時間前 約 1 時間前 0.0.0.0:8888->80/tcp lnmp-nginx
5b49fc160f9e php:1 "./sbin/php-fpm -c /…" 2 時間前 約 1 時間前 9000/tcp lnmp_php

#ウェブサイトのテストページを作成する mkdir /app/ROOT
vim /app/ROOT/index.html 
dd ... 

プロジェクト全体をワンクリックでパッケージ化して展開

Docker Compose の使い方

Compose は、Python で記述された複数のコンテナを定義および管理するためのツールです。 Compose 構成ファイルを使用して、使用するイメージ、データ ボリューム、ネットワーク、マップされたポートなど、複数のコンテナー アプリケーションのアーキテクチャを記述します。その後、1 つのコマンドで、開始、停止、再起動などのすべてのサービスを管理します。

インストール

docker-compose-linux-x86_64.zip を解凍します。 
アーカイブ: docker-compose-linux-x86_64.zip
 膨張: docker-compose     

ll ドッカーコンポーズ
-rw-r--r-- 1 ルート ルート 8858496 2017年8月31日 docker-compose

chmod +x docker-compose

docker-compose を実行します。

YAMLファイルの形式と書き方の注意点

YAML は、非常に直感的なマークアップ言語と高い可読性を備えたデータシリアル化形式です。 XMLデータ記述言語に似ていますが、構文はXMLよりもはるかにシンプルです。

YAML データ構造はインデントで示され、連続する項目はマイナス記号で示され、キーと値のペアはコロンで区切られ、配列は角括弧で囲まれ、ハッシュは中括弧で囲まれます。

YAML ファイル形式に関する注意事項:

  • Tabキーによるインデントはサポートされていません。インデントにはスペースが必要です。
  • 通常は2つのスペースのインデントで始まります
  • コロン、カンマ、ダッシュなどの文字の後に 1 スペースインデントします。
  • ポンド記号で注釈を付ける
  • 特殊文字が含まれている場合は、一重引用符で囲みます。
  • ブール値 (true、false、yes、no、on、off) は、パーサーが文字列として解釈できるように引用符で囲む必要があります。

設定ファイルの共通フィールド

フィールド説明する
建てるサブフィールド dockerfile: Dockerfileファイル名を指定します
従属フィールドコンテキスト。イメージコンテキストパスを構築します。
画像画像の指定
指示コマンドを実行し、デフォルトのコマンドを上書きする
コンテナ名コンテナ名の指定
展開するサービスの展開と運用に関連する設定を指定します。Swarm モードでのみ使用可能です。
環境環境変数を追加する
ネットワークネットワークに参加し、トップレベルネットワークの下のエントリを参照します
ポートポートを公開します。-p と同じですが、ポートは 60 未満にすることはできません。
ボリュームホスト パスまたは名前付きボリュームをマウントします。名前付きボリュームの場合は、最上位ボリュームにボリューム名を定義します。
再起動再起動ポリシー、デフォルトは no、always | on-failure | until-stopped
ホスト名

コンテナのホスト名

一般的なコマンド

フィールド説明する
建てるサービスを再構築する
追伸コンテナの一覧
コンテナの作成と起動
実行者コンテナ内でコマンドを実行する
規模起動するサービスコンテナの数を指定します
トップコンテナプロセスを表示する
ログコンテナ出力の表示
コンテナ、ネットワーク、ボリューム、イメージの削除
停止/開始/再起動サービスの停止/開始/再起動

LNMPウェブサイトプラットフォームのワンクリック展開

#compose_lnmp パッケージツリー /root/compose_lnmp/ を表示します
/root/compose_lnmp/
├── docker-compose.yml #docker-compose 起動インターフェースファイル ├── mysql
│ ├── 会議
│ │ └── my.cnf #mysql 設定ファイル│ └── data #マウントする mysql データディレクトリ├── nginx
│ ├── Dockerfile #nginx の Docker イメージ設定ファイルをカスタマイズする│ ├── nginx-1.12.1.tar.gz #nginx ソースコードパッケージ│ └── nginx.conf #nginx 設定ファイル├── php
│ ├── Dockerfile #PHP の Docker イメージ ファイルをカスタマイズする│ ├── php-5.6.31.tar.gz #PHP ソース コード パッケージ│ └── php.ini #PHP 設定ファイル└── wwwroot #Web ページ ディレクトリ└── index.php #デフォルトの Web ページ ファイル
vim docker-compose.yml #docker-compose 起動インターフェースファイルは .yml で終わる必要があります。He と ansbile は両方とも Python バージョンで書かれています: '3' #コンテナのバージョンは 3 です
services: #コンテナサービスには以下があります nginx: #Nginxコンテナホスト名: nginx #コンテナホスト名はnginxです
  build: #dockerfile の場所を指定しますcontext: ./nginx #dockerfile ファイルは現在のパスの下の nginx ディレクトリにありますdockerfile: Dockerfile #Dockerfile ファイル名: Dockerfile
  ports: #マッピングポートホスト81を80にマッピングするように指定します
   - 81:80         
  networks: #lnmp ブリッジのコンテナネットワークカードを指定します - lnmp
  ボリューム: #現在のディレクトリの ./wwwroot をコンテナ nginx の Web ディレクトリにマウントします - ./wwwroot:/usr/local/nginx/html

 php: #nginx ホスト名と同様: php
  建てる:
   コンテキスト: ./php
   dockerfile: Dockerファイル
  ネットワーク:
   -lnmp
  ボリューム:
   - ./wwwroot:/usr/local/nginx/html

 マイスク:
  ホスト名:mysql
  イメージ: mysql:5.6 #イメージをダウンロード mysql5.6 バージョン ポート:           
   -3306:3306
  ネットワーク:
   -lnmp
  ボリューム: #mysql のメイン設定ファイルとデータファイルをマウントします - ./mysql/conf:/etc/mysql/conf.d
   - ./mysql/データ:/var/lib/mysql 
  command: --character-set-server=utf8 #コマンドを実行し、デフォルトのコマンドを上書きします environment: #環境変数 MYSQL_ROOT_PASSWORD: 123456 を追加します
   MYSQL_DATABASE: ワードプレス
   MYSQL_USER: ユーザー
   MYSQL_パスワード: user123

networks: #ネットワーク lnmp を追加し、最上位ネットワークの下のエントリ lnmp を参照します。
#LNMPのワンクリック展開
docker-compose -f docker-compose.yml up #-f は現在のディレクトリにあるdocker-composeを起動ファイルとして指定し、up はコンテナを作成して起動します。
#デプロイされたコンテナプロセスをすべてワンクリックで表示 docker-compose -f docker-compose.yml ps
    名前 コマンド 状態 ポート     
-------------------------------------------------------------------------------------
composelnmp_mysql_1 docker-entrypoint.sh --cha ... 0.0.0.0:3306->3306/tcp を起動します 
composelnmp_nginx_1 ./sbin/nginx -g デーモンをオフ; 0.0.0.0:81->80/tcp を起動   
composelnmp_php_1 ./sbin/php-fpm -c /usr/loc ... 9000/tcp まで    

#デプロイされたすべてのコンテナプロセスをワンクリックで終了 docker-compose -f docker-compose.yml stop
composelnmp_nginx_1 を停止しています...完了
composelnmp_php_1 を停止しています...完了
composelnmp_mysql_1 を停止しています...完了#ワンクリックでコンテナを起動し、バックグラウンドで docker-compose -f docker-compose.yml start を実行します
#デプロイされたコンテナプロセスをすべてワンクリックでクリーンアップする docker-compose -f docker-compose.yml down

Nginx リバース プロキシ Tomcat クラスタのワンクリック デプロイの実践

#compose_nginx_tomcat パッケージを表示 [root@docker ~]# tree compose_nginx_tomcat/
nginx_tomcat をコンパイルする
├── docker-compose.yml
├── MySQL の
│ ├── 会議
│ │ └── my.cnf #mysql 設定ファイル│ └── data #マウントする mysql データディレクトリ├── nginx
│ ├── Dockerfile #カスタムイメージ設定ファイル│ ├── nginx-1.12.1.tar.gz #ソースパッケージ│ └── nginx.conf #nginx設定ファイル├── tomcat
│ ├── apache-tomcat-8.0.46.tar.gz #ソースコードパッケージ│ ├── Dockerfile #カスタムイメージ設定ファイル│ └── server.xml #tomcat設定ファイル└── webapps     
  └── ルート
    └── index.html #Webページテストファイル
#docker-compose の起動インターフェースファイルを表示します cat compose_nginx_tomcat/docker-compose.yml 
バージョン: '3'
サービス:
 nginx:
  ホスト名: nginx
  建てる:
   コンテキスト: ./nginx
   dockerfile: Dockerファイル
  ポート:
   - 82:80
  ネットワーク:
   -lnmt
  ボリューム:
   - ./webapps:/opt/webapps
 トムキャット01:
  ホスト名: tomcat01
  ビルド: ./tomcat
  ネットワーク:
   -lnmt
  ボリューム:
   - /usr/local/jdk1.8.0_45:/usr/local/jdk1.8.0_45
   - ./webapps:/usr/local/apache-tomcat-8.0.46/webapps
 トムキャット02:
  ホスト名: tomcat02
  ビルド: ./tomcat
  ネットワーク:
   -lnmt
  ボリューム:
   - /usr/local/jdk1.8.0_45:/usr/local/jdk1.8.0_45 #docker ホストの Java 環境がマウントされました。
   - ./webapps:/usr/local/apache-tomcat-8.0.46/webapps #Web ディレクトリをマウントします。mysql:
  ホスト名:mysql
  イメージ:mysql:5.6
  ポート:
   - 3307:3306
  ネットワーク:
   -lnmt
  ボリューム:
   ./mysql/conf:/etc/mysql/conf.d ディレクトリ
   - ./mysql/データ:/var/lib/mysql
  環境:
   MYSQL_ルート_パスワード: 123456
   MYSQL_DATABASE: db
   MYSQL_USER: ユーザー
   MYSQL_パスワード: user123
ネットワーク:
 表示:

各コンテナにJAVA環境をインストールするとコンテナが大きくなりすぎるため、スペースを節約するためにTomcatコンテナにローカルJava環境をインストールします。

#Tomcat コンテナ プロセスは Docker ホストのローカル Java 環境をマウントする必要があるため、#Docker ホストに jdk-8u45-linux-x64.tar.gz をローカルにインストールします
tar xf jdk-8u45-linux-x64.tar.gz -C /usr/local

#ngxin+tomcat リバースプロキシクラスタのワンクリックデプロイ docker-compose -f docker-compose.yml up
nginx リバース プロキシ構成ファイル ユーザー root; 
ワーカープロセスは自動です。 

error_log ログ/error.log 情報;

pid ログ/nginx.pid; 


イベント {
  epoll を使用します。 
}

http {

  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log ログ/access.log メイン;
  ファイル送信オン;
  キープアライブタイムアウト65;
  
  アップストリーム www.example.com {
    #ip_ハッシュ;
    server tomcat01:8080; #composeインターフェースファイルで定義されたホスト名はIPアドレスに直接解決できます
    サーバー tomcat02:8080;
  }

  サーバー{
    聞く 80;
    server_name ローカルホスト;
  
  位置 / {
    proxy_pass http://www.example.com;
  }

    場所 ~ \.(html|css|js|jpg|png|gif)$ {
      ルート /opt/webapps/ROOT;
    }
  }
}

Docker イメージの作成とプロジェクト全体のワンクリックパッケージングとデプロイに関するこの記事はこれで終わりです。Docker イメージの作成とパッケージングとデプロイに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerfileを使用してApacheイメージを作成する方法
  • 独自の Docker イメージを作成して Dockerhub にアップロードする方法
  • Dockerイメージの作成Dockerfileとコミット操作
  • DockerでHadoopを実行しイメージを作成する方法
  • 公式 Tomcat イメージを作成するための Dockerfile とイメージの使用方法の詳細な説明
  • 各種Dockerイメージの作成方法の詳しい説明
  • Dockerイメージ作成の詳細な紹介

<<:  CSS における XHTML タグの対応する属性と使用法

>>:  calc() で全画面背景の固定幅コンテンツを実現

推薦する

Vue 初心者ガイド: 環境の構築と開始方法

目次初期ビューVue開発環境の構築Vueインスタンスの作成Vue テンプレート構文Vue データバイ...

Docker に Kong ゲートウェイをインストールする方法の例

1. Dockerネットワークを作成する docker ネットワーク作成 kong-net 2. デ...

Linux lnコマンドの使用

1. コマンドの紹介ln コマンドは、ファイルのリンクを作成するために使用されます。リンクは、ハード...

プライベートDockerリポジトリであるHarborをインストールするための詳細な手順

Harborのインストールは非常に簡単ですが、Dockerログインで行き詰まってしまいました。このブ...

ORM を使用して MySQL にデータを追加する手順

【序文】 ORM を使用してデータベース内のデータを操作する場合、前提として、新しい ORM モデル...

mysql5.7.20 のインストールと設定方法のグラフィック チュートリアル (mac)

MySQL 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析

mysql ダーティページWAL メカニズムにより、InnoDB はステートメントを更新するときに、...

Vue2.x の応答性の簡単な説明と例

1. Vue レスポンシブの使用法を確認する​ Vue の応答性は、私たち全員がよく知っています。 ...

フロントエンドインタビューに必要なホモロジーとクロスドメインの詳細な説明

序文ご存知のとおり、ブラウザの相同性戦略とクロスドメイン方式も、フロントエンド面接で頻繁に遭遇する問...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

Alibaba Cloud Server ドメイン名解決手順 (初心者向けチュートリアル)

ウェブサイトの構築を始めたばかりの初心者には、理解し、学ぶべきことがたくさんあります。ウェブサイトを...

JavaScript におけるイベント バブリング メカニズムの詳細な分析

バブリングとは何ですか? DOM イベント フローには、イベント キャプチャ ステージ、ターゲット ...

VMware での Ubuntu と Windows 間のファイル共有

この記事では、VMware 環境下で Ubuntu と Windows 間でファイルを共有する方法を...