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 #
다음 두 파일을 만듭니다.
/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/
방문

Reference
이 문제에 관하여(Docker의 Alpine에서 Bottle 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ekzemplaro/items/f6556d4e93318603a077텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)