検索
ホームページ運用・保守DockerDocker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

この記事では、一般的な操作コマンド、イメージ操作コマンド、コンテナー操作コマンド、その他の関連問題など、docker クイック スタートに関する関連知識を提供します。

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

フロントエンド Docker に 10 分間の実際のクイック スタート ガイドを提供します。

2022 年になりました。フロントエンドに少し時間をかけてみましょう。 Docker について学びましょう。そうすれば私たちは苦しむことはありません。だまされないでください

Docker についてまだ学習していませんか? それは問題ではありません。いくつかのシナリオをシミュレーションして、何が起こるかを考えてみましょう。必要なときは 2 分で完了します

続きましょう残り 7 ~ 8 分を使って、Docker を使用して vue2 プロジェクトと vue3 プロジェクトの両方を同時にデプロイします。

1 docker とは

シナリオ シミュレーション 1: スタンドアロン

あなたは社内で熱心に働き、すぐにリーダーに認められました。この日、彼はあなたに、次の新しいプロジェクトを引き継ぐように求めました。あなたは、それらを自分のコンピュータにインストールする必要があります。

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

洞察力のある方なら、複数のプロジェクトがあることに気づくでしょう。 Nodejs と mysql のさまざまなバージョン: OK、私にとっては些細な問題です

シナリオ シミュレーション 2: マルチマシン

現時点で、会社には 3 つの新しいフロントがあります。 -インターンや新人、リーダーは必須です。これらのプロジェクトをローカル コンピューターで実行できるようにインストールすることもできます。

会社の歴史やその他の理由により、当面はコンピューターのみを装備できます異なるオペレーティング システム: win7、win10、OSX など

ここで、これらのプロジェクトを複数のコンピューターの異なるオペレーティング システムにインストールする必要があります。図

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

# を参照してください。 ## 賢い人なら、あなたの頭が 2 つの大きなものよりも大きくなっていることに気づくでしょう

「インストールは面倒で時間がかかります。新しい人がプロジェクトに取り組むときは、異なるバージョンに対応するバージョンに切り替える必要があります。 「プロジェクトを遂行する上で、間違いを犯しやすいです。それがホスト環境を汚染し、ホストにも汚染をもたらします。環境は汚染されています。今後さらに多くのプロジェクトが行われることを考えると、すでに逃げ出したいと思う人もいるかもしれません」 「これらのプロジェクトを会社のイントラネット上の 2 台の小さなサーバーにデプロイして、公開開発およびテスト環境を作成します。ああ、これら 2 台のサーバーは Linux です。Baidu の Linux に Node と MySQL をインストールする方法」を始める準備はできていますか?また、複数のバージョンをインストールする必要があります。 2 つのサーバーの Linux システムが異なる場合はどうなりますか?

今度はあなたがバケツを運ぶ番です

3 ドッカーが表示されます

パニックにならないでください。ドッカーが表示されます。スムーズに処理するのに役立ちます。異なるシステム間でのアプリケーションのインストールの違い

# など。それなら、仮想マシンを使用してみてはいかがでしょうか? Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)-docker

仮想マシンは起動が遅く、多くのリソースを消費し、多くのリソースを消費するため、異なるシステムでの移行/拡張はより複雑になります

しかし、docker ではそれができません。数秒で起動し、多くのリソースを消費します。リソースがほとんどなく、香りもなく、プラットフォーム間で簡単にコピーできます。

構成を作成した後、nodej、msyql、 nginx などを 1 つのコマンドで同時にコンピューター上で実行でき、それらは互いに独立して同時に実行できます。当時は、手動で切り替える必要はありませんでした。

上記の問題は簡単に解決しました。docker に興味がありますか?

2 Docker の基本

さあ始めましょう docker の基本について学びましょう

Docker はいくつかに分かれています概念: イメージ、コンテナ、ウェアハウス

イメージ

: イメージ ファイルをインストールするときに必要なシステム ディスクまたはシステムのようなもので、ここでは Docker コンテナの作成を担当します。 - 作成されたイメージ: ノード、mysql、monogo、nginx はリモート ウェアハウスからダウンロードできます

コンテナ

: ミニ システム (たとえば、mysql5 のみを備えた最小限の Linux システム) と比較できます。 .7 がインストールされました。もちろん、必要に応じて、mysql とノードを同じコンテナにインストールすることもできます。コンテナとコンテナ、コンテナとホストはすべて互いに分離されていることに注意してください

Warehouse

: ウェアハウスは github のようなもので、イメージを作成してクラウド ウェアハウスにプッシュすることも、ウェアハウスからイメージをプルすることもできます。シンプルです。win と osx は両方ともグラフィカル インターフェイスでインストールされます。Linux にも数行のコマンドがあります。現在、Mac の m1 チップ シリーズもサポートしています。ここでは、最初にインストール手順を省略します。急いでください。まずは読んでみてください!

ps: m1 チップの Docker に mysql をインストールするには、少しの設定が必要です。

インストール後、以下のコードを実行して表示します。

docker -v

4 実践的な戦闘: vue2 をデプロイし、 vue3 プロジェクト

docker をインストールしたら、手をこすり合わせながら実際の戦闘を開始しましょう

コンピューターで複数のバージョンの nodejs10 と nodejs12 を同時に実行できるようにしたいです

ps: まずは簡単にやってみましょう 始めるために、今はさまざまなバージョンの mysql のインストールを脇に置きましょう

4.1 vue2 および vue3 プロジェクトを準備します

続いて見ていきましょうまず、後で説明します。

次に、プロジェクトを配置する新しいファイルを作成します。名前を付けます。

my-repository

vue2 Webpack プロジェクトをインストールします

# 0 命令行进入到该文件夹的位置: 
cd /你的电脑具体的文件路径/my-repository

# 1.现在安装vue-cli
npm install -g @vue/cli

# 2.查看vue-cli安装成功否
vue --version
#我这里是@vue/cli 4.5.15

# 3. 用vue-cli快速创建项目,安装选项我们如下
# > ❯ Default ([Vue 2] babel, eslint) 
# > ❯ npm包管理
vue create my-app-vue2
vue3 vite プロジェクトをインストール

#先安装vite最新版npm init vite@latest# 创建vue3项目npm init vite@latest my-app-vue3 --template vue
//vite需要开启网络访问//vite.config.js 开启hostexport default defineConfig({
  plugins: [vue()],+  server: {+    host: '0.0.0.0',+  },});
#安装完成后我们的目录是这样的my-repository
├── my-app-vue2
│   ├── public
│   └── src
│       ├── assets
│       └── components
└── my-app-vue3
    ├── public
    └── src
        ├── assets
        └── components

4.2 创建运行docker容器

# 0 先进入我们刚才安装了vue项目的文件夹位置
cd my-repository

# 1 执行pwd可以获取当前文件夹在电脑的绝对目录
pwd
# /Users/eric/my-repository

# 2 运行创建docker容器1:承载 vue2+webpack+nodejs10
docker run -it -d --name myvue2 --privileged -p 8081:8080 -v  /Users/eric/my-repository/my-app-vue2:/app/vue node:10.16.2 /bin/bash -c "cd /app/vue && node -v && npm install && npm run serve"

# 3 运行创建docker容器2:承载 vue3+vite+nodejs12
docker run -it -d --name myvue3 --privileged -p 8080:3000 -v /Users/eric/my-repository/my-app-vue3:/app/vue node:12.22.6 /bin/bash -c "cd /app/vue && node -v && npm install && npm run dev"

#运行成功后 查看容器运行情况
docker ps -a

成功运行后会出现

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

我们可以看到容器的启动状态、端口映射、容器名字

打开浏览器,我们访问localhost:8080localhost:8081可以看到

vue2 && vue3

如果出错可看下面第三点:[调试](###3 调试):运行如下命令查看原因

docker logs -f container_id/containe_name

上面那一坨docker run xxxxx 的代码到底是啥,现在我们就来捋顺

首先这个docker run 是可以用来创建同时启动运行容器

先换行来看 : shell 脚本太长的时候我们可以用 "\"把一行命令分成多行

docker run \
-it \
-d \ 
--name myvue2 \
--privileged \
-p 8081:8080 \
-v /Users/eric/my-repository/my-app-vue2:/app/vue \
node:10.16.2 \
/bin/bash -c "cd /app/vue2 && node -v && npm install && npm run serve"

这里我们使用 docker run 命令可以下载镜像 ->通过镜像创建容器 ->启动运行容器

参数解析

参数 描述
-d 以守护进程的方式让容器在后台运行,在这您之 前可能使用的是pm2来守护进程
-it 这里是 -i和 -t的缩写
-i:告诉 Docker 容器保持标准输入流对容器开放,即使容器没有终端连接
告诉 Docker 为容器分配一个虚拟终端
–name myvue2 将容器命名为 myvue2,这样访问和操作容 器等就不需要输入一大串的容器ID
–privileged 让容器的用户在容器内能获取完全root权限
-p 8081:8080 将容器的8080端口映射到宿主机的8081端口上
这样我们访问本机的localhost:8081,就是访问到容器的8080端口
因为容器都是独立运行互相隔离的,容器与容器各自的8080端口、容器跟主机各自的8080端口都不是一个东西,主机只有在这给端口做映射才能访问到容器端口
-v /Users/eric/my-repository/my-app-vue2:/app/vue 将主机的my-app-vue2目录(命令行这里只能写绝对路径哈)下的内容挂载到容器的目录/app/vue内,
如果容器的指定目录有文件/文件夹,将被清空
挂载后,容器修改 /app/vue目录的内容,也是在修改主机目录/Users/eric/my-repository/my-app-vue2内容
node:10.16.2 这里是指定nodejs,版本为10.16.2的镜像来创建容器
如果不指定版本,会默认下载当前镜像的最新版本
/bin/bash -c “cd /app/vue2 && node -v && npm install && npm run serve” /bin/bash:是在让容器分配的虚拟终端以 bash 模式执行命令
-c ""cd /app/vue2 && node -v && npm install && npm run serve:只能执行一条 shell 命令,需要多个命令按需用&&、

docker run的运行示意图

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

上面代码运行成功后我们的电脑就会有两个互相隔离独立运行的docker容器

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

4.3 调试

常用的调试命令 1

# 运行后按ctrl + c 可退出docker logs -f contianer_name/container_id

当然容器内正在进行编译或者发生错误甚至退出的时候,我们可用此命令查看终端输出的信息

运行成功后,查看myvue 容器的npm run serve 在终端上的实时输出信息

#查看docker container的终端输出信息 docker logs -f myvue2

常用的调试命令 2

# 打印出容器的端口映射、目录挂载、网络等等docker inspect myvue2

5 常用操作命令

常用的操作命令表一栏,需要先收藏

Docker 基础指令 中

镜像操作命令:

# 搜索镜像
docker search [images_name:tag]

# 下载镜像(:指定版本)
docker pull [images_name:tag]

# 查看本地下载的镜像
docker images

# 自己构建镜像
# 根据dockerfile的路径或者url构建镜像
 docker build [OPTIONS] PATH|URL|-

# 查看镜像的构建历史
docker history [images_name]

# 删除镜像
# 需要先删除以此镜像为基础的容器
 docker rmi [images_name]

容器操作命令

# 查看运行中的容器
# 可以查看容器ID、基础镜像、容器名称、运行状态、端口映射等
docker ps

# 查看所有容器:包括停止的
docker ps -a

# 查看容器的信息
# 例如端口号的映射、目录挂载
docker inspect [images_name/images_id]

# 启动和停止容器
docker start/stop [container_name/container_id]

#  重启容器
#  使用场景实例:
#  在加入新的npm包依赖需要重新编译的时候使用重启运行编译
#  nginx容器的配置更新后需要重启生效
docker restart [container_name/container_id]

# 进入容器
# ps:有些容器没有bash,需要改成/bin/sh,例如mysq、mongodb的
# 退出人容器输入exit 回车键
docker exec -it [container_name/container_id] /bin/bash

# 删除容器
# 在容器停止的状态才能删
docker rm [container_name/container_id]

# 容器主机文件拷
# 将容器文件拷贝到主机
docker cp [container_id/container_name] : [文件目录] [主机目录]

# 将主机的目录拷贝到容器
docker cp [主机目录] [container_id/container_name] : [文件目录]

6 进阶

如果没有合适的镜像,我们通常用Dockerfile来构建自定义镜像

发现没,上面的docker run 只能创建启动一个docker容器,我们可以用docker-compose来一次启动多个容器,常用于单机下安装多个服务

慢点再来更新,大家有兴趣也可以先看到我用docker 部署的Jenkins自动化部署 CI/CD 环境 里面也有docker-compose的使用

Docker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)

推荐学习:《docker视频教程

以上がDocker のエキサイティングなクイック スタート ガイド (詳細なグラフィックとテキストの説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Mastering Docker:Linuxユーザー向けガイドMastering Docker:Linuxユーザー向けガイドApr 18, 2025 am 12:08 AM

LinuxでDockerを使用すると、開発効率が向上し、アプリケーションの展開を簡素化できます。 1)Ubuntu画像を引く:dockerpullubuntu。 2)ubuntuコンテナを実行:Dockerrun-itubuntu/bin/bash。 3)nginxを含むDockerFileを作成します:fromubuntu; runapt-getupdate && apt-getinstall-ynginx; expose80。 4)画像の作成:dockerbuild-tmy-nginx。 5)コンテナの実行:Dockerrun-D-P8080:80

LinuxのDocker:アプリケーションとユースケースLinuxのDocker:アプリケーションとユースケースApr 17, 2025 am 12:10 AM

Dockerは、Linuxのアプリケーションの展開と管理を簡素化します。 1)Dockerは、アプリケーションとその依存関係を軽量でポータブルコンテナにパッケージ化するコンテナ化されたプラットフォームです。 2)Linuxでは、DockerはCgroupと名前空間を使用して、コンテナの分離とリソース管理を実装します。 3)基本的な使用には、画像の引き込みと実行容器が含まれます。 DockerComposeなどの高度な使用は、マルチコンテナーアプリケーションを定義できます。 4)一般的に使用されるDockerLogsとDockerexecコマンドをデバッグします。 5)パフォーマンスの最適化は、マルチステージの構造により画像サイズを縮小することができ、DockerFileをシンプルに保つことがベストプラクティスです。

Docker:移植性とスケーラビリティのためのコンテナ化アプリケーションDocker:移植性とスケーラビリティのためのコンテナ化アプリケーションApr 16, 2025 am 12:09 AM

Dockerは、アプリケーションのパッケージ化、配布、およびアプリケーションの携帯性とスケーラビリティを改善するために使用されるLinuxコンテナテクノロジーベースのツールです。 1)DockerBuildおよびDockerrunコマンドを使用して、Dockerコンテナを構築および実行できます。 2)DockerComposeを使用して、マルチコンテナーDockerアプリケーションを定義および実行して、マイクロサービス管理を簡素化します。 3)マルチステージの構造を使用すると、画像サイズを最適化し、アプリケーションの起動速度を向上させることができます。 4)コンテナログの表示は、コンテナの問題をデバッグする効果的な方法です。

Dockerによってコンテナを起動する方法Dockerによってコンテナを起動する方法Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

Dockerからログを表示する方法Dockerからログを表示する方法Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

Dockerコンテナの名前を確認する方法Dockerコンテナの名前を確認する方法Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Docker用のコンテナを作成する方法Docker用のコンテナを作成する方法Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

Dockerによってコンテナを出る方法Dockerによってコンテナを出る方法Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール