在正式使用Docker之前,我們先來熟悉下Docker中常用的命令,因為對Docker的操作就如同操作Linux一樣,大部分操作通過命令完成。
一、登入
為什麼要使用登入?
因為我們使用Docker,其實主要使用映象從而執行容器。那麼映象可以通過倉庫獲得,因為倉庫是集中存放映象的地方。有的倉庫是公開的,可以直接通過公開倉庫獲得映象,有的是私有倉庫,那麼此時就需要通過登入倉庫從而獲得映象。
如果想通過公開倉庫獲得映象可以不用登入這一步,直接拉取映象;如果想拉取私有倉庫裡的映象則需要登入。
我們獲得私有映象可以通過登入官方倉庫(Docker Hub),也可以登入第三方倉庫獲取,如阿里雲或騰訊雲。
如果要使用官方Docker Hub,則需要到官方地址去註冊一個Docker Hub的個人賬號,官方地址:https://hub.docker.com/。
1、登入到Dokcer Hub命令:
docker login --username hapgaoyi
語法:docker login --username [使用者名稱]
輸入命令後回車則會提示讓你輸入密碼,密碼如果正確,則提示Login Succeeded,如圖:
2、登入到阿里雲映象倉庫命令:
docker login --username=hapgaoyi mtlxrshz.mirror.aliyuncs.com。如圖:
如果想通過命令直接把密碼帶上則可以加一個“--password“的引數來指定密碼。
登入是為了可以拉取私有映象,如果不需要拉取私有映象,只想拉取公開映象則可以忽略登入這一步。
二、拉取映象
命令:
docker pull [映象名稱]:[映象標籤]
如果不帶映象標籤則表示拉取最新版本的映象,如:
docker pull [映象名稱]
還有一種寫法是:
docker image pull [映象名稱]:[映象標籤]
在這裡,我們拉取一下Redis的映象。
如:
docker pull redis
上圖顯示,使用預設的最新的一個Redis映象。
拉取了映象之後,我們可以再來看下Docker裡有哪些映象。
三、檢視本地映象
命令:
docker image ls
如圖:
有了映象之後,我們再來執行映象,這裡以Redis 為例。
四、建立容器(執行映象)
命令:
docker run [引數] [映象名稱]
這個命令表示執行一個映象,如果本地不存在這個映象,Docker會自動拉取映象並執行,同時建立了一個容器。
docker run --name redis -p 6379:639 redis
這裡表示執行Redis映象,同時為容器起一個名稱叫redis,--name參數列示為容器起一個名字。-p 6379:6379表示指定容器訪問埠,第一個6379是提供給對外訪問的埠,第二個6379是基於docker容器內部埠。這裡兩個埠設定一樣,當然,可以不同;如果我們要在自己的電腦訪問docker上的redis服務的話,可以用第一個埠6379。
也可以用更簡單的命令建立Redis容器,如 docker run redis。
建立Redis容器後,我們可以檢視正在執行的容器。
五、檢視容器
檢視正在執行的容器命令:
docker ps
如圖:
檢視所有的容器(包括正在執行的和已經停止了的):
docker ps -a
既然Redis容器已經執行,我們可以在本機測試下,這裡提供兩種方式:
1、下載一個Redis客戶端工具,我們這裡使用Redis Desktop Manager工具
如圖:
點選確定後:
成功訪問!
2、使用Docker exec命令進入Redis 容器
docker exec -it redis /bin/bash
如圖:
進入Redis容器後,啟用Redis客戶端如:
redis-cli
開始使用:
六、停止容器並刪除
如果我們不想使用某個容器,比如上面的Redis容器,我們可以停掉,如:
docker stop redis
如果我們想再次使用Redis容器,可以直接使用如下命令啟動容器無需重複使用docker run命令。
如:
docker start redis
如果我們想要刪除不用的容器可以用以下命令:
docker rm redis
如果容器正在執行,我們需要停掉在刪除,如果我們需要強制刪除容器可以用下面的命令:
docker rm redis --force
上面的redis均表示容器名稱,不是映象名稱。
七、刪除映象
如果我們覺得某些映象以後不會用到,我們可以將它刪除,如:
docker rmi redis
表示刪除redis映象
清理未使用的映象:
docker system prune
八、檢視Docker映象、容器、本地卷等空間使用情況
docker system df
如果想看詳情的空間佔用情況可以用
docker system df -v
好了,今天的介紹就到這了,後續我們繼續小試牛刀演示在docker中執行mysql映象和rabbitmq映象等例項。