バックグラウンド
- 特定のソフトウェアを使用(開発)する場合、オペレーティング システム、依存関係、環境変数が同じであることを確認する必要があり、これらの設定に時間がかかることがあります。
- 仮想マシンを使用すると、上記の問題の一部は解決できますが、リソースの使用量が多くなる、冗長な手順が多い、起動が遅いなど、他の問題も発生します。パフォーマンスの低いラップトップは本当に悲惨です。
- その後、
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
機能と関連する概念を理解した後、既存のプロジェクトをミラーリングして使用します。
参考
間違いがあればご指摘ください、読んでいただきありがとうございます~