LoginSignup
0
0

More than 1 year has passed since last update.

Docker の Alpine で Bottle を使う

Last updated at Posted at 2021-07-05

こちらと同様のことを行いました。
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/
にアクセス

bottle_aa.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0