docker 筆記4

青穗黃發表於2018-09-22

app.py

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 引數為空,在執行時接受命令列引數

相關文章