質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

2176閲覧

docker-compose up で vue create コマンドを実行したら標準入力できない問題

takesoo

総合スコア13

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/10/11 05:06

編集2020/10/11 05:08

前提・実現したいこと

dockerでvue.jsの開発環境を構築しようとしています。
docker-compose up でサーバー起動(npm run dev)するのはできるのですが、create projectの際はwarking_dirが違うので別途create.ymlというファイルを作り、docker-compose -f docker-compose.yml -f create.yml upでcreateしようとしています。実行したところ、vue_cliの最初の質問は出力されるのですが、エンターキーを押しても反応がないです。

発生している問題・エラーメッセージ

terminal

1Vue CLI v4.5.7 2vue | ? Please pick a preset: (Use arrow keys) 3vue | ❯ Default ([Vue 2] babel, eslint) 4vue | Default (Vue 3 Preview) ([Vue 3] babel, eslint) 5 6//ここでエンターを押しても反応がない

該当のソースコード

ディレクトリ構成

. ├── README.md ├── create.yml ├── docker │   ├── Dockerfile │   └── src └── docker-compose.yml

Dockerfile

Dockerfile

1# nodeのバージョンは推奨版を使用する 2FROM node:lts 3 4# locale & timezone (Asia/Tokyo) 5# https://github.com/moby/moby/issues/12084 6ENV LANG C.UTF-8 7ENV TZ Asia/Tokyo 8 9WORKDIR /src 10 11# system update 12RUN apt-get update && \ 13 apt-get install -y vim less git 14 15# install vue-cli 16RUN npm install -g npm && \ 17 npm install -g @vue/cli @vue/cli-init 18 19EXPOSE 8080

docker-compose.yml

dockercomposeyml

1version: '3' 2services: 3 vue: 4 container_name: vue 5 build: 6 context: ./docker 7 ports: 8 - 8080:8080 9 working_dir: /src/${APP_NAME} 10 command: npm run serve -- --host 0.0.0.0 11 volumes: 12 - ./docker/src:/src 13 tty: true 14 stdin_open: true 15

create.yml

createyml

1version: '3' 2services: 3 vue: 4 container_name: vue 5 build: 6 context: ./docker 7 ports: 8 - 8080:8080 9 working_dir: /src 10 command: vue create ${APP_NAME} 11 volumes: 12 - ./docker/src:/src 13 tty: true 14 stdin_open: true 15

試したこと

terminal

1$ docker-compose build 2$ docker-compose -f docker-compose.yml -f create.yml up 3 4Vue CLI v4.5.7 5vue | ? Please pick a preset: (Use arrow keys) 6vue | ❯ Default ([Vue 2] babel, eslint) 7vue | Default (Vue 3 Preview) ([Vue 3] babel, eslint) 8 9// 入力できない 10 11$ docker-compose -f create.yml up 12// これでもvue-cliは起動するがやはり入力できない

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

docker-compose up はすべてのコンテナーを起動するコマンドです

今回の例はたまたまサービスが 1 つだけ定義されていて、コンテナーも 1 つですが
特定のコンテナーを対象としてインタラクティブに実行したいときは
ターミナルを特定のコンテナーのシェルの標準入力に接続する必要があるため、
docker-compose run を使います

console

1docker-compose -f docker-compose.yml -f create.yml run vue

参考:

投稿2020/10/11 05:54

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問