Window Docker 從0到1的使用--------從入門到精通,安裝Ubuntu (一)

在window下安裝Docker,這個很簡單,我就不做介紹了。

--------------------------------------------------------分割線------------------------------------------------------------

1. 安裝完Docker 後打開,這裏設置Setting鏡像庫地址,這一步很關鍵,因爲很多鏡像在下載時默認的鏡像常常因爲國內原因,常常無法下載下來。

2. 設置dokcer鏡像地址:https://registry.docker-cn.com 這樣下載鏡像時,會下載中國內網地址。

阿里鏡像地址:https://sz58lef2.mirror.aliyuncs.com

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://sz58lef2.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 接下來我們要在下載安裝docker容器,這裏我們以下載ubuntu爲例 ,打開命令行 WIN+R鍵,輸入cmd

 

4. 查找ubuntu鏡像地址信息: docker search ubuntu 

拉取最新鏡像 docker pull ubuntu:latest

語法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS說明:

-a :拉取所有 tagged 鏡像
--disable-content-trust :忽略鏡像的校驗,默認開啓

備註:

可以在docker網站上查看可以拉取的ubuntu鏡像版本信息

https://hub.docker.com/_/ubuntu?tab=tags 

5. 查看鏡像信息: docker images  ,該鏡像拉取成功

docker images : 列出本地鏡像。

語法
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS說明:

-a :列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);
--digests :顯示鏡像的摘要信息;
-f :顯示滿足條件的鏡像;
--format :指定返回值的模板文件;
--no-trunc :顯示完整的鏡像信息;
-q :只顯示鏡像ID。

6. 我們可以嘗試下運行鏡像 ,嘗試創建橋接網絡(內部容器的拓撲網絡別名,在同一網絡名稱下容器是可以互通)。

這個步驟是非必須的,只是讓我們以後在其他環境共通做一個環境,方便做分佈式測試部署

創建橋接網絡: docker network create -d bridge server

查看所有網絡信息: docker network ls

docker run -it --name sever1 --network server -p 5000:5000 -v C:/www:/www ubuntu:latest /bin/bash

-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用;(這樣才能打開終端,敲命令)
-p 映射端口號  127.0.0.1:5001:5000   宿主機端口:容器端口
-v 共享目錄  宿主機目錄:鏡像目錄 屬於同一個文件夾
--name 表示容器唯一名稱 
--network 表示內部容器的拓撲網絡別名,在同一名稱下容器可以互通

語法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:

-a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 後臺運行容器,並返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-P: 隨機端口映射,容器內部端口隨機映射到主機的端口
-p: 指定端口映射,格式爲:主機(宿主)端口:容器端口
-t: 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用;
--name="nginx-lb": 爲容器指定一個名稱;
--dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 設置環境變量;
--env-file=[]: 從指定文件讀入環境變量;
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
--net="bridge": 指定容器的網絡連接類型,支持 bridge/host/none/container: 四種類型;
--link=[]: 添加鏈接到另一個容器;
--expose=[]: 開放一個端口或一組端口;
--volume , -v:	綁定一個卷


例如:
docker run -it --name sever1 --network server -p 5000:5000 -v C:/www:/www ubuntu:latest /bin/bash

查看指令大全:https://www.runoob.com/docker/docker-command-manual.html

 

7. 可以看到可以正常訪問ubuntu鏡像系統,和我們虛擬機安裝的系統使用方式是一模一樣的。

8. 如果我們這時候關閉掉cmd 命令空間怎麼辦呢,以下就是顯示如何重新訪問:

docker ps 可以查看到活躍的容器信息:

docker ps : 列出容器

OPTIONS說明:
-a :顯示所有的容器,包括未運行的。
-f :根據條件過濾顯示的內容。
--format :指定返回值的模板文件。
-l :顯示最近創建的容器。
-n :列出最近創建的n個容器。
--no-trunc :不截斷輸出。
-q :靜默模式,只顯示容器編號。
-s :顯示總的文件大小。

可以使用  docker exec -it  <容器ID>  /bin/bash  重新訪問容器 

如果容器ID 不是出於活動狀態 is not running  可以先使用 docker start   <容器ID> 

docker exec :在運行的容器中執行命令

語法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:

-d :分離模式: 在後臺運行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個僞終端

9. 可以將製作好的容器轉換成鏡像,以後就可以在此基礎上改造容器了:

 docker commit -m="<提交的描述信息>" -a="<指定鏡像作者>" <容器 ID>  <IMAGE:版本> 

例如:docker commit -m="my test docker" -a="aishenkuxing" da21996c8755 test1:1.0

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS說明:

-a :提交的鏡像作者;

-c :使用Dockerfile指令來創建鏡像;

-m :提交時的說明文字;

-p :在commit時,將容器暫停。

可以看到我們能正常運行容器了

今天先寫到這,後續還會慢慢更新對應的功能信息。請持續關注.... 原創不易,轉載請註明轉載地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章