MAC上安装Docker Desktop能够网站下载安装,也能够经过brew安装。这里记录brew安装的命令:html
brew cask install docker
安装完成后,建立Dockerfilepython
FROM nginx RUN echo 'Hello this is mywebsite' > /usr/share/nginx/html/index.html
开启Goolge Cloud Container Registy权限:nginx
gcloud auth configure-docker
建立Dockerfile:web
from flask import Flask from datetime import datetime import socket app = Flask(__name__) @app.route("/") def hello(): now = datetime.now() html1 = str(socket.gethostname()) html2 = now.strftime("%m/%d/%Y, %H:%M:%S") html = "<h1>Time: " + html2 + "\n" + "Hostname is: " + html1 + "</h1>\n" return html if __name__ == "__main__": app.run(host='0.0.0.0', port=80)
安装列表requirements.txt:docker
Flask
程序代码app.py:flask
from flask import Flask import socket app = Flask(__name__) @app.route("/") def hello(): html = socket.gethostname() return html if __name__ == "__main__": app.run(host='0.0.0.0', port=80)
Build Docker Image并上传:api
docker build ./ -t gcr.io/central-segment-217003/web-hostname:1.0 docker push gcr.io/central-segment-217003/web-hostname:1.0
用此docker image建立docker:app
docker run -d -p 127.0.0.1:80:80 gcr.io/central-segment-217003/web-hostname:1.0 $ curl localhost 423fcf67c506
查看docker状况:curl
$docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 423fcf67c506 gcr.io/central-segment-217003/web-hostname:1.0 "python app.py" 41 seconds ago Up 39 seconds 127.0.0.1:80->80/tcp sweet_napier
和显示的hostname相同。socket