from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "hello docker"
if __name__ == '__main__':
app.run()
複製程式碼
Dockerfile
ROM python:3.6
LABEL "maintainer=jeffzzz <wxl.pure@gmail.com>"
RUN pip install flask
COPY app.py /app/
WORKDIR /app
EXPOSE 5000
CMD ["python", "app.py"]
複製程式碼
$ docker build -t jeffzzz/flak-demo .
複製程式碼
如果提示沒有許可權,就需要登入
unauthorized: authentication require
複製程式碼
$ ducker login
複製程式碼
登入後重新build,又提示沒有許可權,但重複執行了一次build後又成功了。
把這個image釋出到docker hub
$ docker push jeffzzz/flask-demo:latest
複製程式碼
不過分享image,不如分享產生這個image的Dockerfile hub.docker.com/ create —> create automated build -> 關聯到github包含Dockerfile的倉庫
如果要搭建一個私有的docker hub,可用官方提供的registry去建立
執行image
$ docker run jeffzzz/flask-demo
複製程式碼
後臺執行
$ docker run -d image_id
複製程式碼
使用互動方式進入docker bash
$ docker exec -it 3e5eb7eb19d7 /bin/bash
複製程式碼
進入python
$ docker exec -it 3e5eb7eb19d7 python
複製程式碼
停止執行中的docker
$ docker stop 3e5eb7eb19d7
複製程式碼
刪除所有退出的container
$ docker rm $(docker ps -aq)
複製程式碼
顯示container 資訊
$ docker inspect container_id
複製程式碼
顯示container執行產生的輸出
$ docker logs container_id
複製程式碼
build 一個linux命令列工具
FROM ubuntu
RUN apt-get update && apt-get install -y stress
ENTRYPOINT ["usr/bin/stesss"]
CMD []
複製程式碼
CMD 引數為空,在執行時接受命令列引數