闲来无事,复习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