win10 docker安裝及使用


參考: https://blog.csdn.net/qq_26870933/article/details/81675201

1.進入網址https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows 下載並安裝

 

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

 

3.

docker run hello-world   測試是否成功  官方的測試鏡像
docker info    查看信息
docker version   查看版本  

docker inspect 4d781f132cd5 #查看指定容器ip

 

4.簡單使用

-d      # 后台運行容器,並返回容器ID;
-i      # 以交互模式運行容器,通常與 -t 同時使用;
-t      # 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-P      # 隨機端口映射,容器內部端口隨機映射到主機的高端口
-p      # 指定端口映射,格式為:主機(宿主)端口:容器端口
--name="nginx-lb"     # 為容器指定一個名稱;
--dns 8.8.8.8         # 指定容器使用的DNS服務器,默認和宿主一致;
docker run 常用參數
--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:    綁定一個卷

-a stdin: 指定標准輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
docker run 非常用參數

 

查看:

docker images       查看所有的docker鏡像

docker ps -a        查看所有docker容器

docker ps           查看在運行的docker容器

docker stop 容器id         停止運行指定容器

docker start 容器id        運行指定容器

 

刪除:

(1)先用docker ps -a  查看所有的在運行的容器

(2)docker stop       容器id

(3)然后docker images 查看對應刪除任務id

(4)docker rm 鏡像id

docker rm -f 鏡像id    強制刪除,就算已經啟動 也可刪

如果多個鏡像id 一致 可以 "REPOSITORY""TAR"進行刪除:

 

 

 

5.   docker exec -it 容器id   (這里的容器id可以只寫前四位)

進入容器 : docker exec  -it  容器id  bash        docker進入容器需要開啟一個 新的bash窗口

也可以使用 docker run -it  NAMES bash    

這邊遇到一個 查看ip出錯   主要原因是docker的base鏡像只包含簡單的操作系統,其他命令需要自己安裝

docker run -d -p 8000:80 --name webserver nginx

-d                   # 后台啟動nginx容器
--name webserver     # 自定義容器名字(默認會是一段隨機字符串)
-p 8000:80           # 本機的8000端口映射到docker容器的80端口中
nginx                # 使用這個nginx鏡像啟動容器

打開瀏覽器 http://localhost

docker logs webserver # 查看上面啟動的web容器的日志 可以加 -f 標准輸出
docker port 55f870061ed9            # 查看指定容器端口映射
docker top 00f7ddc96622             # 查看容器中有哪些進程
docker stats 00f7ddc96622           # 查看容器資源使用情況
docker exec -it webserver bash #進入容器
docker stop webserver #停止容器
docker start webserver #打開容器
docker rm -f webserver #強制刪除容器


docker container prune
#清理所有處於終止狀態的容器
docker ps -l  #查詢最后一次創建的容器

 

 

 

6. 導出

docker export f20fa835671e > nginx.tar     

導入 :    可以使用 docker import 從容器快照文件中再導入為鏡像

cat ./nginx.tar | docker import - nginx:v1          
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE test/nginx v1 e57719935085 6 seconds ago 125MB friendlyhello latest 0e4cf06588e3 43 minutes ago 179MB python 3.7-slim 69afd9568c9d 6 days ago 179MB nginx latest 6678c7c2e56c 12 days ago 127MB 

 

7.更新鏡像

更新鏡像之前,我們需要使用鏡像來創建一個容器。

docker run -it ubuntu:15.10 /bin/bash

在運行的容器內使用 apt-get update 命令進行更新。

在完成操作之后,輸入 exit 命令來退出這個容器。

此時 ID 為 a10c92a54464 的容器,是按我們的需求更改的容器。我們可以通過命令 docker commit 來提交容器副本。

 docker commit -m="has update" -a="user" a10c92a54464 runoob/ubuntu:v2 

各個參數說明:

  • -m: 提交的描述信息

  • -a: 指定鏡像作者

  • e218edb10161:容器 ID

  • runoob/ubuntu:v2: 指定要創建的目標鏡像名

docker run -t -i runoob/ubuntu:v2 /bin/bash 啟動一個容器 

 

8.docker映射宿主機文件夾 並指定端口 命名obj
docker run -itd -v C:\Users\admin\Desktop\erp:/home/pro -p 0.0.0.0:8081:8080  --name obj 容器id bash        #-p 后面參數 前面是宿主機端口,后面是docker端口

 

9. 使用過程的一個錯誤(更新中遇到的錯誤) (還是自己手賤 升級失敗然后炸了)

 

 百度查了下 

cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon     (這個不行就  DockerCli.exe -SwitchDaemon  這個命令,看自己的文件位置

然后 運行 docker images 會發現全都沒有了
按照百度經驗 說重新指定DockerDesktop.vhdx 就可以

如果setting改路徑的消失了(docker炸掉了。) 就需要重新安裝 docker
安裝完docker 指定DockerDesktop.vhdx 再次找到之前的 路徑 會發現已經不存在了會有一個這樣的錯誤
ls: reading directory '.': Operation not permitted

沒辦法 只能刪除鏡像 docker rm  鏡像id

從新拉取一次  再來一次端口文件映射 

最后 ok ,完美結束。 




免責聲明!

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



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