Docker の Alpine で Bottle を使う
こちらと同様のことを行いました。
AlpineでBottleを使う
イメージの作成
docker run -dit -p 49153:3000 --name bottle_app alpine
Alpine に接続
docker exec -it bottle_app ash
$ docker exec -it bottle_app ash
/ #
必要なソフトのインストール
/ # apk add python3 py3-pip tree
/ # pip3 install bottle
/ # mkdir /home/bottle
/ # cd /home/bottle
/home/bottle #
次の2つのファイルを作成します。
/home/bottle # tree
.
├── server.py
└── views
└── sample.html
server.py
from bottle import route, run, template
import random
@route('/')
def index():
images = [
"fmervo000001gsle.jpg",
"rn2ola000000lk6e.jpg",
"rn2ola000001gogf.jpg",
"6fujishigai_s_s.jpg",
"rn2ola000000lk6r.jpg",
"5fujikawarakuza_s_s.jpg"
]
url_base = "https://www.city.fuji.shizuoka.jp/page/gazou/fmervo000001dsro-img/"
url = url_base + random.choice(images)
return template('sample', url=url)
#
run(host="0.0.0.0", port=3000, debug=True)
views/sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>富士山</title>
</head>
<body>
<div class="container">
<p>富士山 航空写真</p>
<blockquote>
<img src="{{url}}" />
</blockquote>
<p>Courtesy: <a href="https://www.city.fuji.shizuoka.jp/page/gazou/fmervo000001dsro.html">富士市</a></p>
</div>
Jul/05/2021<br />
</body>
</html>
次のようにホストからコピーすることもできます。
CONTAINER ID は変更して下さい。
docker cp server.py 01dd1f42040a:/home/bottle
docker cp views 01dd1f42040a:/home/bottle/
CONTAINER ID の調べ方
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bbe3d679a9c4 alpine "/bin/sh" 34 minutes ago Up 34 minutes 0.0.0.0:49153->3000/tcp, :::49153->3000/tcp bottle_app
サーバーの起動
# python3 server.py
Bottle v0.12.19 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:3000/
Hit Ctrl-C to quit.
クライアントで
http://localhost:49153/
にアクセス
Author And Source
この問題について(Docker の Alpine で Bottle を使う), 我々は、より多くの情報をここで見つけました https://qiita.com/ekzemplaro/items/f6556d4e93318603a077著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .