win 環境下 docker 的使用整理

1、下載:

https://www.docker.com/products/docker-desktop/

 

如果電腦分多個盤,建議下載到可用存儲較大的盤,安裝的時候默認安裝到 C 盤,安裝完成後雙擊啓動

 

如果出現【Docker Engine stopped】,不要慌,如下圖

 

1)未安裝按照這樣操作 ,啓用【Hyper-V】

 

添加以後,系統需要重新啓動,然後就可以了。

 

2)已經添加過,則需要更新一下

    在windows powershell中輸入wsl --update,即可開始安裝wsl或者更新版本,有時候會超時,多試幾次即可

    更新以後需要重啓系統

更多【Docker Engine stopped】的解決方法

 

3)資源存儲路徑修改

 

2、docker 基本知識

Image 鏡像:類似於一個模具,例如我把我弄好的一個環境,打包成一個鏡像,你拿過去,就可以直接製作成和我一樣的環境了

Container容器:利用容器技術,獨立運行一個或者一組應用,Docker 的容器是通過 docker 的鏡像來創建的。可以把容器理解爲一個類 Linux 的操作系統, 就是鏡像實例化成一個真實的可以運行的環境,可以對鏡像運行、停止、刪除操作

Repository 倉庫: 存放鏡像的地方,分爲共有倉庫、私有倉庫

docker-compose:啓動多個容器的一個配置文件,裏面可以配置要拉去哪個鏡像,然後構建成容器需要的參數,步驟等等等,反正理解爲它是一個配置文件,用來啓動一堆鏡像容器的。

 

概念 說明
Docker 鏡像(Images) Docker 鏡像是用於創建 Docker 容器的模板,比如 Ubuntu 系統。
Docker 容器(Container) 容器是獨立運行的一個或一組應用,是鏡像運行時的實體。
Docker 客戶端(Client) Docker 客戶端通過命令行或者其他工具使用 Docker SDK (Develop with Docker Engine SDKs | Docker Documentation) 與 Docker 的守護進程通信。
Docker 主機(Host) 一個物理或者虛擬的機器用於執行 Docker 守護進程和容器。
Docker Registry Docker 倉庫用來保存鏡像,可以理解爲代碼控制中的代碼倉庫。
Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用。
一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標籤(Tag);每個標籤對應一個鏡像。
通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標籤就常用於對應該軟件的各個版本。我們可以通過【倉庫名】【標籤】的格式來指定具體是這個軟件哪個版本的鏡像。如果不給出標籤,將以【latest】作爲默認標籤。
Docker Machine Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

 

 

 

 

 

 

 

 

 

 

 

3、docker 命令(以 centos 爲例)

1)docker 服務相關命令
 

# 啓動docker容器

systemctl start docker


# 停止docker容器

systemctl stop docker


# 重啓docker容器

systemctl restart docker


# 查看docker容器狀態

systemctl status docker


# 設置開機自啓動docker容器

systemctl  enable  docker

 

2)docker 鏡像相關命令
 

# 1、查看本地鏡像

docker images                #查看所有鏡像

docker images -q              # 查看所有鏡像的id


# 2、搜索鏡像(從網絡中查找)

docker search 鏡像名稱                                    #搜索指定鏡像

docker search 鏡像名稱 --filter=stars=3000              #過濾出收藏量大於3000的鏡像


# 3、拉取鏡像

docker pull 鏡像名稱:版本號            #如果沒有寫版本號,默認拉取最新的laster版本


# 4、刪除鏡像

docker rmi  鏡像id                    #刪除指定的本地鏡像

docker rmi  鏡像名稱:版本號     #刪除指定的本地鏡像

docker rmi 'docker images -q'   #刪除本地的所有鏡像

 

3)docker 容器相關命令

# 1、創建容器

docker run 參數 容器名稱:版本號 /bin/bash         

#/bin/bash  代表創建容器後立即進入容器

參數說明:

-i: 以交互模式運行容器(保持容器運行),如果參數爲-it,容器創建後自動進入容器中,退出容器後,容器自動關閉

-t: 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用

-d: 後臺運行容器,並返回容器ID,需要使用docker  exec  目錄進入容器,退出容器後,容器不會自動關閉

--name : 爲容器指定一個名稱

-v 宿主機目錄:容器目錄 :給容器綁定一個數據卷(可以使用多個-v綁定多個數據卷)

-e:設置環境變量

-p: 指定端口映射,格式爲:主機(宿主)端口:容器端口


# 2、查看容器

docker ps     # 查看正在運行的容器

docker ps -a    # 查看所有的容器


# 3、進入容器

docker  exec  -it 容器名/容器id


# 4、退出容器

exit


# 5、啓動容器

docker start 容器名/容器


# 6、刪除容器

docker     rm    容器名/容器id        #刪除指定的容器

docker     rm    'docker -ps -aq`     #刪除所有的容器


# 7、查看容器進程

docker top 容器名/容器id


# 8、查看容器信息

docker inspect 容器名/容器id


# 9、查看容器日誌

docker logs 參數 容器名/容器id

參數說明:

-f :跟蹤輸出

-t :顯示時間戳

--tail 10         #顯示日誌的最後 10 行

--since:"xxxx-xx-xx"        #顯示某個日期至今的所有日誌

 

更多 【docker 操作
 

4、多版本部署

以 php 爲例

下載相關鏡像

php5.4版本:docker pull php:5.4-fmp

php7.4版本:docker pull php:7.4-fpm

nginx版本:docker pull ngxin:latest(最新版本)

 

更多詳細部署操作

 

5、整包環境部署(以 php 爲例)

DNMP(Docker + Nginx/Openresty + MySQL5,8 + PHP5,7,8 + Redis + ElasticSearch + MongoDB + RabbitMQ)是一款全功能的LNMP一鍵安裝程序,支持Arm CPU

這裏推薦 GitHub上yeszao的倉庫https://github.com/yeszao/dnmp(國內:https://gitee.com/yeszao/dnmp

部署實例

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