閒來無事,複習docker的時候,正好寫一篇快速入門python
系統爲centos7.7,發現沒有docker,嗯,一條命令搞定web
yum -y install docker #yum安裝docker systemctl start docker.service #啓動docker
dockerfile用來構建鏡像的文本文件,文本內容爲構建鏡像所須要的指令和說明docker
定義一個超級簡單的Dockerfileflask
[root@te1 app]# cat Dockerfile FROM python:2.7-slim #跟面嚮對象語言的類同樣,表示以哪一個基礎鏡像定製 WORKDIR /data/docker/app #docker工做目錄 COPY . /data/docker/app #複製當前文件到/data/docker/app目錄 RUN pip install -r requirements.txt #在docker build時運行,此處經過pip安裝flask CMD ["python", "hello.py"] #在docker run時運行此命令
[root@te1 app]# cat requirements.txt flask
[root@te1 app]# cat hello.py #一個簡單的flask web站點 from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return 'hello world' if __name__ == "__main__": app.run(host='0.0.0.0', port=8000)
cd /data/docker/app && docker build -t hello .
docker images
docker run -it -d --name 'first-hello' -p80:8000 hello
-it -i 標準輸入,-t表示容許一個終端
-d 後臺運行
--name 容器名字
-p 對外暴露端口,此處將docker的8000端口映射爲80向外暴露centos
docker ps -a
[root@te1 app]# curl 127.0.0.1:80 hello world
有些時候須要進入容器調試排查故障等bash
[root@te1 app]# docker exec -it first-hello bash root@64660eb25be0:/data/docker/app# ls Dockerfile dump.rdb hello.py requirements.txt