🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Docker

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

Q&A

3回答

2847閲覧

「Dockerを使ってpythonのデータ分析の環境構築をしたい」

katsu08

総合スコア0

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Docker

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

0グッド

0クリップ

投稿2021/03/19 13:17

編集2021/03/27 04:02

プログラミング学習チャンネルのキノコード(YouTubeチャンネル)を使って進める。
流れとしては、Windows上にubuntuというLinuxのOSを立てて、そこにアナコンダをインストールする。そして、pythonでのデータ分析環境としてjupyterlabを立ち上げる。

Windows10proまたはwindows10enterpriseの場合は、そのままdocker for windowsが使用できるが、windows10homeであるため、まずはWSL2をインストールする。

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10を参考に試みたが、Ubuntuのインストール後、名前やパスワードを設定する画面にならない。

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????
Press any key to continue...

このようなエラーが発生し、文字入力すると画面が閉じてしまう。

解決策としては、以下を管理者権限で起動したpowershellで実行するようです。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

実行してから、再度Ubuntuを実行すると、エラーが出なくなるはずです。

しかし、

Path :
Online : True
RestartNeeded : False

のようになってしまいます。

調べてみると、WSL2のインストールは難しいようなので、
設定が簡単なDocker Toolboxを使ってインストールする。

進めていくと、Docker Toolboxは非推奨になり、現在活発に開発がされていないようなので、代わりにDockerデスクトップを使用する。

Dockerデスクトップを起動すると

Try running a container: Copy and paste this command into your terminal and then come back

docker run -d -p 80:80 docker/getting-started

とあるので、コマンドプロンプトで実行すると

docker: error during connect: Post https://192.168.99.100:2376/v1.24/containers/create: dial tcp 192.168.99.100:2376: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
See 'docker run --help'.

となり、先に進めない

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

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

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

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

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

matsuand

2021/03/20 05:32

エラーはコマンドライン内のどこかに空白文字が入っているから発生しています。環境変数を使っていませんか(その設定に空白を含みませんか)? jlab△:△latest(△は空白)などとしていませんか? パスに空白文字が含まれませんか? -t (--tag) オプションを取り除いて、Dockerfile のあるディレクトリをカレントとして「docker build .」とするところから始めるべきかと思います。イメージがそもそも生成できるのか、コマンドラインの指定に誤りがあるのか、などなど、順序よく問題の切り分けを進めていくべきと思います。
katsu08

2021/03/22 06:22

docker build -t jlab:latest /Users/Name/Desktop/MyDocker  正にこの通りにやっています、(Nameのところは自分の名前を名字と名前の間に1文字文空白を開けています。)
matsuand

2021/03/22 06:45

空白文字が入っていたんですね。エラー原因はそれです。ダブルクォートで括ってください。 "/Users/FamilyName△FirstName/Desktop/MyDocker"
katsu08

2021/03/22 08:59

invalid argument "jlab:latest\\Users\\FamilyName△FirstName\\Desktop\\MyDocker" for "-t, --tag" flag: invalid reference format See 'docker build --help'. となってしまいます、
matsuand

2021/03/22 09:07

お伝えしていない方法でコマンド実行されています。jlab:latest 部分をカッコで括ってとは言っていませんよ。
katsu08

2021/03/22 09:30

申し訳ありません、入力ミスです。 カッコはlatestの後からの部分につけています、
matsuand

2021/03/22 09:52 編集

もう答えが近づいているようです。あとは頑張ってください。1つ1つの記述の意味と空白区切りの必要性とを理解して正しく入力してください。誤り部分に気付けるのはあなただけです。
guest

回答3

0

Windowsのとのことで、「Docker for Windows」かつ「コマンドプロンプト」で操作されている、という前提であれば、次の手順で確認をできます。

まず、イメージのビルドは「docker build -t タグ Dockerfileのパス」というコマンドを実行しますが、「Dockerfileのパス」指定が docker コマンドで解釈できないため、このようなエラーが起こっています。

「Dockerfile のパス」を確認するには、コマンドプロンプトで Dockerfile のディレクトリに移動して「cd」と実行すると表示されます。Windows では、おそらくこのような結果です。

C:\Users\NAME NAME\Desktop\MyDocker

これがパスです。これを docker build で Dockerfile のある場所として、パスを指定します。

コマンドプロンプトで、パスに空白スペースが有る場合は "" で囲む必要があります。先の例ですと、

"C:\Users\NAME NAME\Desktop\MyDocker"

これが指定すべきパス(Windows上で、今回の Dockerfile がある場所)ですので

docker build -t jlab:latest "C:\Users\NAME NAME\Desktop\MyDocker"

このコマンドを実行することで、docker build は処理されます。

ただ気になるのは、通常であれば

②Dockerfile が保存されたディレクトリに移動してからdocker build -t jlab:latest .のように実行する

こちらの方法で解決すると思われます。もし、これまで記載されていたものと異なるエラーが表示されているようであれば、その内容を共有頂く事で何か解決の糸口が見えるかもしれません。

投稿2021/03/25 02:23

zembutsu

総合スコア1584

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

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

katsu08

2021/03/26 02:45

ご回答頂きました通り、 docker build -t jlab:latest "C:\Users\NAME NAME\Desktop\MyDocker" こちらのパスで実行してみました。 Errorduringconnect:Posthttps://192.168.99.100:2376/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=8vhsffuuo7qcxtcd6cidq9ucy&shmsize=0&t=jlab%3Alatest&target=&ulimits=null&version=1: dial tcp 192.168.99.100:2376: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. となってしまいました。 windows 10 pro または windows 10 enterpriseではない為、 docker for windowsを使用できていなかったのかも知れません。 windows 10 homeでバージョンが2004、ビルドが19041以上であることを確認できた為、 現在は、WSL2のインストールを試みています。 しかし、ここでつまずいております。 (https://docs.microsoft.com/ja-jp/windows/wsl/install-win10) ↑こちらのサイトを見ながらで試していますが、 ubuntuをインストール後、名前やパスワードを設定する画面になるはずのようですが、Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x800701bc Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ????????? Press any key to continue... このようなエラーが発生してしまいます。 この解決策としては、Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linuxを管理者権限で起動したpowershellで実行するようです。さきほどのコマンドを実行してから再度Ubuntuを実行すると、エラーが出なくなるはずです。 しかし、 Path : Online : True RestartNeeded : False のようになってしまいます。 調べてみると、windows 10 homeではWSL2のインストールは難しいようなので、docker toolboxをインストールしました。Dockerのインストールは完了しているかと思います。 何かアドバイスをいただけますでしょうか。
zembutsu

2021/03/26 03:21

Docker Toolbox であれば、 [Shared Drive(共有ドライブ](https://github.com/docker/docker.github.io/blob/v1.13/docker-for-windows/index.md#shared-drives) を指定する方法があしました。 現在、操作可能な実機がないので確認できないのですが、 [ドキュメント](https://github.com/docker/docker.github.io/blob/v1.13/docker-for-windows/index.md#shared-drives) にあるような共有ドライブを指定・設定反映後であれば、-v オプションでマウントできるようになったように記憶しています。
guest

0

docker build -t jlab:latest /Users/name/Desktop/MyDocker

docker build -t jlab:latest /Users/name/Desktop/MyDocker .

別にドットをつければ正解という訳ではないけど

投稿2021/03/20 02:48

hentaiman

総合スコア6426

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

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

katsu08

2021/03/20 04:53

docker build -t jlab:latest /Users/name/Desktop/MyDocker .としてみましたが、変化なしです、
hentaiman

2021/03/20 04:55

すまん -f 書き忘れた
katsu08

2021/03/21 05:13

どこに-fを付け加えるべきか教えていただけますでしょうか
guest

0

windowsです

パスがWindowsのものではありません。そこらへんどうにかしましょう

投稿2021/03/19 13:25

y_waiwai

総合スコア88038

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

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

hentaiman

2021/03/19 13:41

windowsのものですよ
katsu08

2021/03/20 01:43

docker build -t jlab:latest /Users/name/Desktop/MyDocker こちらのパスがWindowsのものではないということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問