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

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

新規登録して質問してみよう
ただいま回答率
85.35%
docker-compose

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

makefile

make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

Docker

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

Q&A

解決済

1回答

3119閲覧

macでパスが通っているのに、aliasやMakefileからdockerコマンドを呼ぶとエラーになる

progra_ganbaru

総合スコア0

docker-compose

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

makefile

make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

Docker

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

0グッド

0クリップ

投稿2020/05/29 19:03

前提・実現したいこと

・aliasからdocker-compose up -dを呼ぶ
・Makefileからdocker-compose up -dを呼ぶ

which docker-compose
/usr/local/bin/docker-compose
と戻ってくるのでパスは通っていると思います。
それなのに、alias、Makefileから呼ぶとエラーになります。

ググってもパスを通せば直るしか出てこなくて質問させて頂きました。

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

$ which docker /usr/local/bin/docker $ which docker-compose /usr/local/bin/docker-compose $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user_name/.nodebrew/current/bin $ dcup bash: docker-compose up: command not found $ dcupd bash: docker-compose up -d: command not found $ make upd docker-compose up -d make: docker-compose up -d: No such file or directory make: *** [upd] Error 1 # これはなぜか起動します。 docker-compose up $ make up

該当のソースコード

.bash_profile

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/.nodebrew/current/bin alias dcup='docker-compose up' alias dcupd='docker-compose up -d'

Makefile

up: docker-compose up upd: docker-compose up -d

試したこと

上記の.bash_profile,Makefileを最小構成にしてもエラーでした。

補足情報(FW/ツールのバージョンなど)

Mac OS 10.15.4
シェルはbash
Make 3.81
Docker version 19.03.5
docker for MacをDLしてアプリケーションにdocker.appを設置

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

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

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

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

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

hoshi-takanori

2020/05/29 19:26

bash: docker-compose up -d: command not found ということは、間のスペースに見えるものが普通のスペースではないために "docker-compose up -d" が一つのコマンドとみなされている可能性があります。alias や Makefile のスペースを打ち直してみては。
progra_ganbaru

2020/05/29 19:48

お答えありがとうございます。 大正解でした! 両方とも半角スペースに見える何かが含まれていました。 もしかしたら、windowsで作ったものをコピーして持ってきたのが関係あるのかもしれません。 これで快適にコマンドを打てそうです。本当にありがとうございます!
otn

2020/05/29 23:18

補足すると、もしPATHの問題であれば、 bash: docker-compose: command not found となりますが、 bash: docker-compose up: command not found なので、"docker-compose up"というコマンドを探していると言う事から、空白がおかしいことが分かります。
progra_ganbaru

2020/05/30 11:53

お答えありがとうございます。 PATHが原因か否かでそのような判断方法があるのですね。 勉強になりました!ありがとうございます。
CHERRY

2020/05/31 21:09

解決したのであれば、ご自身で回答を記入して解決済みにしてください。
progra_ganbaru

2020/06/01 18:18

CHERRYさん ご指摘ありがとうございます。解決済みにします。
guest

回答1

0

自己解決

hoshi-takanori さん
otn さん

お答えありがとうございました。
非常に感謝しています。

【原因】
ファイルに半角スペースに見える何かが含まれていた。

【解決策】
Makefile, .bashrcの両ファイルに、謎の半角スペースを半角スペースに置換する事で解決。

【推測】
makeコマンド、aliasコマンドはwindowsで作ったソースをコピーして持ってきたので、それが原因で謎の半角スペースができたのでは?と考えられる。

投稿2020/06/01 18:17

progra_ganbaru

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問