2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでVue.jsの環境構築

Last updated at Posted at 2022-12-28

はじめに

DockerでVue.jsの環境を構築を行ったので、記録用に書きます。
色々な方の記事を結構参考にしてやりました。

超初心者の私が欲しかった超初歩的な細かい情報も書いてるので、どこかの誰かの役に立てれば…
「コマンドを実行するディレクトリはどこ?」
→これを間違えて、全工程完了後フォルダ内に何もインストールされないという変なことが起きました。
「ディレクトリ構成図が解読できない😇これファイル?フォルダ?どこに何がインストールされるの?」

環境

  • PC: MacBook Air 2019
  • OS: Ventura
  • Docker 20.10.17
  • Docker-compose v2.6.1

①フォルダを作成

$ mkdir svtApp でフォルダ作成
$ cd svtApp でそのフォルダ内に移動
$ mkdir vueApp,$ touch Dockerfile,$ touch docker-compose.yml

svtApp
├──(file) Dockerfile
├──(file) docker-compose.yaml
└──[folder] vueApp

②Dockerfile & docker-compose.ymlの中身作成

Dockerfileの中身

FROM node:18.12.1
WORKDIR /app

nodeのバージョンを公式サイトで確認して書きます

docker-compose.ymlの中身(参考サイトのほぼコピペです💦)

version: '3.9'
services:
#"vue-app" という名前で「サービス」を定義
  vue-app:
#build...ComposeFileを実行し、ビルドされるときのpath
    build:
      context: .
      dockerfile: Dockerfile

#tty...
    tty: true

#environment...DBについての環境変数設定
    environment:
      - NODE_ENV=development

#volumes...マウントする設定ファイルのパスを指定
    volumes:
    - ./vueApp:/app

#command...
    command: sh -c "cd vue-sample && npm run serve"

#ports...ホストの「ポート番号」とコンテナーの「ポート番号」の対応付けを定義
    ports:
    - "8080:8080"

疑問

  • 「DockerfileのWORKDIR」と「docker-compose.ymlのvolumes」は一緒にする(?)
  • 全部通してやってみて思ったけど、commandに書いてあるやつ実行されてる?

③コンテナの起動

.../svtApp % docker-compose build
-----
[+] Building 2.5s (6/6) FINISHED   
=> 色々
=> 文字が続いて
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

④プロジェクトを作成

.../svtApp % docker-compose run --rm vue-app sh -c  "npm install -g @vue/cli @vue/cli-init && vue create vue-sample"
-----
# vueのバージョンとパッケージマネージャーを選択
Vue CLI v5.0.8
? Please pick a preset: Default ([Vue 3] babel, eslint)
? Pick the package manager to use when installing dependencies: NPM

Vue CLI v5.0.8
✨  Creating project in /app/vue-sample.
🗃  Initializing git repository...
⚙️  Installing CLI plugins. This might take a while...


added 856 packages, and audited 857 packages in 3m

91 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
🚀  Invoking generators...
📦  Installing additional dependencies...


added 102 packages, and audited 959 packages in 31s

102 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
⚓  Running completion hooks...

📄  Generating README.md...

🎉  Successfully created project vue-sample.
👉  Get started with the following commands:

 $ cd vue-sample
 $ npm run serve

 WARN  Skipped git commit due to missing username and email in git config, or failed to sign commit.
 You will need to perform the initial commit yourself.

最後に警告が出てきてるんですが、よく分からなかったので無視しました。(わかる方教えて欲しいです💦)

この時点でのフォルダ構成

※重要そうなところをメインに書きました

svtApp
├──(file) Dockerfile
├──(file) docker-compose.yaml
└──[folder] vueApp
	└──[folder] vue-sample
		├──(file) README.md
		|	    : 色々ファイル
		├──[folder] node_modules
		├──[folder] public
		└──[folder] src
			├──[folder] assets
			|	└──(file)logo.png
			├──[folder] components
    		|	└──(file) HelloWorld.vue
			├──(file) App.vue
			└──(file) main.js

⑤起動

.../svtApp % cd vue-sample
.../svtApp/vue-sample $ npm run serve

---
  App running at:
  - Local:   http://localhost:8080/
  - Network: http://192.168.*.*:8080/

  Note that the development build is not optimized.
  To create a production build, run npm run build.

http://localhost:8080/にアクセス
〜作業〜

「^(control) + C」で抜け出せました

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?