1.docker的安裝
環境准備
Docker for Windows是一個Docker Community Edition(CE)應用程序。Docker for Windows安裝包包含了在Windows系統上運行Docker所需的一切。如果你不想裝虛擬機,想直接在你的Windows操作系統中安裝與學習使用docker,那么你首先得查看你的系統是否滿足Docker for Windows的安裝與使用要求。
-
Docker for Windows的當前版本運行在64位Windows 10 Pro,專業版、企業版和教育版(1607年紀念更新,版本14393或更高版本)上。Ps:家庭版是不行的,如果你是家庭版,那么一是升級到專業版,破解專業版推薦個地址:http://blog.csdn.net/SONGCHUNHONG/article/details/78006389 ,二是安裝Docker Toolbox,自行網上百度http://blog.csdn.net/tina_ttl/article/details/51372604
-
如果你滿足Docker for Windows的環境條件了,那么首先檢查電腦的虛擬化開啟了沒有:進入任務管理器(ctrl+alt+delete),點擊性能->cpu ,查看虛擬化是否已啟用,如果虛擬化是已禁用,那么你需要重啟電腦進入bios開啟虛擬化(我們的發的筆記本cpu都是支持虛擬化的,重啟時進入bios按esc -> 再按f12 -> 去開啟虛擬化)
-
開啟虛擬化重啟后,進入任務管理器看虛擬化是否已啟用.
4.然后再是進入電腦的控制面板->程序->啟用或關閉Windows功能->把Hyper-v勾上,啟用后電腦會重啟,后面就可以下載並安裝Docker for Windows了。
下載安裝
-
進入網址https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows 下載並安裝。我安裝的是穩定版。安裝過程沒什么要注意的。
-
3、啟動以后會出現在桌面的右下角區域,鼠標放上去以后顯示Docker is running表示啟動成功,第一次安裝啟用好像是會彈出個Docker Cloud登錄界面,去注冊然后登錄,使用和git有點類似,可以pull圖像等等
2.docker的入門
開始使用
-
檢查Docker,Compose和Machine的版本
3、運行docker run hello-world以測試從Docker Hub中拉取圖像並啟動容器:
4、 使用命令docker run -it ubuntu bash運行一個Ubuntu容器,我之前已經拉取過這個容器了,大概是幾十兆吧,所以直接啟用了,輸入exit命令停止容器。
5、運行命令docker run -d -p 80:80 –name webserver nginx 啟動一個Dockerized webserver 會下載nginx容器圖像並啟動它,然后再打開瀏覽器鍵入http://localhost
6、運行docker ps 命令,檢查容器的詳細信息:
7、停止或移除容器和圖像。如果你想停止網絡服務器,輸入:docker stop webserver
然后重新啟動docker start webserver。要使用單個命令停止並刪除正在運行的容器,請鍵入: docker rm -f webserver。這將刪除容器,但不是 nginx圖像。
您可以列出本地圖像docker images。你可能想要保留一些圖片,這樣你就不必再從Docker Hub中取出它們了。
要刪除不再需要的圖像,請使用docker rmi后跟圖像ID或圖像名稱。例如:docker rmi nginx
Settings:
找到右下角的docker圖標,右擊選擇settings進去
-
General:這里是設置docker開機自啟,應用程序啟動時檢查更新,發布使用情況統計信息
Advanced:分配cpu數量與內存量:
3、 Daemon:Docker for windows10 可以配置阿里雲鏡像,到https://cr.console.aliyun.com/ 注冊一個賬戶,登錄進去后再列表選擇加速器,把你的專屬加速器地址復制粘貼到Daemon的Registry mirrors中:
用Dockerfile定義一個鏡像:
創建一個空目錄,我取名叫docker,然后分別在里面新建三個文件:Dockerfile,app.py,requirements.txt
三個文件中的內容分別設計為:
1.Dockerfile: # Use an official Python runtime as a parent image FROM python:2.7-slim # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app ADD . /app # Install any needed packages specified in requirements.txt RUN pip install --trusted-host pypi.python.org -r requirements.txt # Make port 80 available to the world outside this container EXPOSE 80 # Define environment variable ENV NAME World # Run app.py when the container launches CMD ["python", "app.py"] 2.app.py: from flask import Flask from redis import Redis, RedisError import os import socket # Connect to Redis redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2) app = Flask(__name__) @app.route("/") def hello(): try: visits = redis.incr("counter") except RedisError: visits = "<i>cannot connect to Redis, counter disabled</i>" html = "<h3>Hello {name}!</h3>" \ "<b>Hostname:</b> {hostname}<br/>" \ "<b>Visits:</b> {visits}" return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits) if __name__ == "__main__": app.run(host='0.0.0.0', port=80) 3. requirements.txt: Flask Redis
構建鏡像
在docker目錄下打開cmd.exe運行命令(確保能夠找到Dockerfile文件,鏡像取名叫friendlyhello):docker build -t friendlyhello .
ps:千萬不要落了上面那行后面的那個點,曾經入過坑的。。命令包括后面的那個點:
然后再執行命令:
docker images:
運行鏡像程序:
docker run -p 4000:80 friendlyhello
可以看到Python正在為應用程序提供消息的http://0.0.0.0:80。但是,這個消息來自容器內部,它不知道我們將該容器的端口80映射到4000,從而打開URL: http://localhost:4000
引用: https://blog.csdn.net/zzq060143/article/details/91050272