【フロントエンドエンジニアリング】Docker入門

バックグラウンド

  • 特定のソフトウェアを使用(開発)する場合、オペレーティング システム、依存関係、環境変数が同じであることを確認する必要があり、これらの設定に時間がかかることがあります。
  • 仮想マシンを使用すると、上記の問題の一部は解決できますが、リソースの使用量が多くなる、冗長な手順が多い、起動が遅いなど、他の問題も発生します。パフォーマンスの低いラップトップは本当に悲惨です。
  • その後、Linuxプロセスを分離するコンテナーが起動され、コンテナーが触れるすべてのリソースは仮想化され、基盤となるシステムからの分離が実現され、コンテナーを使用するようになりました。つまり、起動が速く、リソースの占有が少なく、サイズが小さいということです。

意味

dockerこれはLinuxコンテナの一種のカプセル化であり、シンプルで使いやすいコンテナ インターフェイスを提供します。

これを使用してdockerアプリケーションをパッケージ化し、ファイル (つまりイメージ) を生成し、このファイルを実行すると、仮想コンテナーが生成されます。プログラムは実際の物理マシン上で実行するのと同じように、この仮想コンテナ内で実行されるため、環境の問題を心配する必要はありません。

インストール

windowシステムやコンピュータmac os使用したい場合はdocker、最初にデスクトップ版をインストールする必要がありますが、これはコンピュータにLinuxカーネル +環境をインストールすることと同じです。dockerまず、docker公式 Web サイトに移動してダウンロードします。インストール手順は非常に簡単です~

インストールが成功したら、ソフトウェアを直接開くか、次のコマンドを使用してインストールが成功したかどうかを確認できます~

docker version

画像ファイル

ここでは、そのようなファイルをミラーイメージと呼ぶ場合があります。Docker依存プログラムとその依存関係をimageファイルにパッケージ化します。このファイルを通じてコン​​テナを生成できますDocker同じimageファイルに複数のコンテナ インスタンスを含めることができます。

# 可以使用这个命令查看image文件
docker image ls

または、デスクトップ ソフトウェアで表示します。

ここに画像の説明を挿入

ここでは、バックグラウンド管理システムをファイルにパッケージ化する方法を練習しますdocker image~

次に、プロジェクト ディレクトリに新しいものを作成します.dockerignore

.git
node_modules
npm-debug.log

上記のファイルは、ミラー イメージにパックする必要がないものです。

新しいDockerfile:

# FROM 依赖包,这里我们需要node 
# as 代表这个任务的别名
FROM node:16.20.0 as builder
# 拷贝当前目录到/var/web
COPY . /var/web
# 指定命令行在/var/web文件下执行
WORKDIR /var/web
# 安装依赖并执行打包
RUN npm install --registry=https://registry.npm.taobao.org \
    && npm run build

# FROM 依赖包,这里我们需要nginx来预览构建好的项目
FROM nginx:1.24.0 as prod
# 预览的端口号是3000
EXPOSE 3000
# 将打包好的文件复制到nginx中
COPY --from=0 /var/web/dist /usr/share/nginx/html
# 相当于打开了 CMD 的终端,然后输入对应的命令
CMD [ "nginx", "-g", "daemon off;" ]

runここで、コマンドはimageファイルの構築フェーズで実行され、実行結果はimageファイルにパッケージ化され、CMDコマンドはコンテナの起動後に実行されることに注意してください。1 つのコマンドDockerfileには複数のRUNコマンドを含めることができますが、コマンドは 1 つだけですCMD

次に、イメージをビルドします。

# -t 指的是镜像名字,建议前面加入空间名,以防发布的时候跟别人装车
# . 这个不能省略,代表当前目录
docker build -t armouy/vue3-admin .

# 查看
docker image ls

デスクトップ側を見ると、確かに次のような鏡像があります。

ここに画像の説明を挿入

コンテナファイル

この種類のファイルはコンテナであり、imageファイルを実行するために使用されます。ファイルimageは複数のコンテナーで実行できます。VMware仮想マシンを使用したことがある場合は、すぐにコンテナになることができ、CentOSイメージの待機など複数のイメージを実行できます。

コマンドを入力してミラー イメージを作成します。

# -d代表后台运行,启动一次就够了
# -p 后面是端口映射80端口映射到本机的8080, 3000端口映射到本机的9999
# --name即容器名字
docker run -d -p 8080:80 --name vue3-admin-container armouy/vue3-admin 

デスクトップ側でも操作できます。

ここに画像の説明を挿入

ここに画像の説明を挿入

正常に作成された場合:

ここに画像の説明を挿入

http://localhost:8080/#/loginにアクセスすると、次のように表示されます。

ここに画像の説明を挿入

画像ファイルを公開する

まず、hub.docker.comまたはcloud.docker.comにアクセスしてアカウントを登録します。次に、以下のコマンドでログインします。

docker login

まだパッケージ化していない場合は、上記の方法に従ってパッケージ化しimage、公開します。

docker image push armouy/vue3-admin

画像ファイルをプルする

上記のイメージが正常にリリースされたら、ローカル イメージとコンテナーを削除し、リリースしたイメージを検索します。

ここに画像の説明を挿入

クリックしてpullプルすると、アップロードした画像がプルされます。

ここに画像の説明を挿入

コンテナを作成して再度実行すると、特に問題はありません~~

要約する

Docker機能と関連する概念を理解した後、既存のプロジェクトをミラーリングして使用します。

参考


間違いがあればご指摘ください、読んでいただきありがとうございます~

おすすめ

転載: blog.csdn.net/qq_34086980/article/details/131434449