Win10中docker的安裝與使用


1.docker的安裝

環境准備

Docker for Windows是一個Docker Community Edition(CE)應用程序。Docker for Windows安裝包包含了在Windows系統上運行Docker所需的一切。如果你不想裝虛擬機,想直接在你的Windows操作系統中安裝與學習使用docker,那么你首先得查看你的系統是否滿足Docker for Windows的安裝與使用要求。

  1. 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

  2. 如果你滿足Docker for Windows的環境條件了,那么首先檢查電腦的虛擬化開啟了沒有:進入任務管理器(ctrl+alt+delete),點擊性能->cpu ,查看虛擬化是否已啟用,如果虛擬化是已禁用,那么你需要重啟電腦進入bios開啟虛擬化(我們的發的筆記本cpu都是支持虛擬化的,重啟時進入bios按esc -> 再按f12 -> 去開啟虛擬化)

  3. 開啟虛擬化重啟后,進入任務管理器看虛擬化是否已啟用.

  4.  

    4.然后再是進入電腦的控制面板->程序->啟用或關閉Windows功能->把Hyper-v勾上,啟用后電腦會重啟,后面就可以下載並安裝Docker for Windows了。

  5. 下載安裝

    1. 進入網址https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows 下載並安裝。我安裝的是穩定版。安裝過程沒什么要注意的。

3、啟動以后會出現在桌面的右下角區域,鼠標放上去以后顯示Docker is running表示啟動成功,第一次安裝啟用好像是會彈出個Docker Cloud登錄界面,去注冊然后登錄,使用和git有點類似,可以pull圖像等等

 

 

 

2.docker的入門

開始使用

  1. 檢查Docker,Compose和Machine的版本

  2.  

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進去

  1. General:這里是設置docker開機自啟,應用程序啟動時檢查更新,發布使用情況統計信息

  2. 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM