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