前提・実現したいこと
DockerでPythonを実行するコンテナを作るを元にwebブラウザの画面上にpythonファイルの出力結果を表示したいのですが、printの結果が表示されず真っ白のままです。htmlは画面に表示され、コードの変更も反映されます。リンク内容の変更箇所は以下のみで、コードやコマンドも同じものを使用しました。
・プロジェクトフォルダのパスをdescktop直下に配置
該当のソースコード
index.py
#!/usr/bin/env python3 print("Content-type: text/plain\n") print("Hello! Python on Docker!")
Dockerfile
FROM python:alpine WORKDIR /app COPY . /app CMD ["python","-m","http.server","--cgi"]
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Test Page</title> </head> <body> <h1>Welcome to Python!</h1> <p>This is test page.<br>Edited.</p> </body> </html>
試したこと
「python ブラウザに出力できない」等のワードで検索
補足情報(FW/ツールのバージョンなど)
Python 3.10.1
Docker 20.10.11
「htmlが出力できている」とは何をもってそう判断したのですか
リンク先のページと同じ作業をしたものとしますが、どこまで同じでどこが違うのですか
(Dockerfileにshebangがついてますが、他は同じですか)
「htmlが出力できている」はタグの内容(h1やpのテキスト)がブラウザの画面に表示されているという意味でした。
ファイルの内容とコマンド、どちらもコピペしました。
リンクではプロジェクトフォルダのパスが「/Users/test/docker/python/」ですが、自分は「descktop/python」にしました。
リンク先のDockerfileの先頭に #!/usr/bin/env python3 は無いですよね?
だからすでにコピペを間違っています。
質問に慣れてないようなので一応書きますが、あなたの質問文は(いろいろ)情報不足で
何がどうなったのか読み手に伝わりません。
今回の場合は、リンク先に従って作業したのでしょうから、どこまで(完全に)同じなのか、どこから違っているのか(それはどう違っているのか)を書くとわかりやすいでしょう。
質問文に不備や瑕疵があり申し訳ありませんでした。一度初めからやり直し、質問文を修正します。
まだ回答がついていません
会員登録して回答してみよう