Docker初探之常用命令
在正式使用Docker之前,我們先來熟悉下Docker中常用的命令,因為對Docker的操作就如同操作Linux一樣,大部分操作通過命令完成。
一、登錄
為什麼要使用登錄?
因為我們使用Docker,其實主要使用鏡像從而運行容器。那麼鏡像可以通過倉庫獲得,因為倉庫是集中存放鏡像的地方。有的倉庫是公開的,可以直接通過公開倉庫獲得鏡像,有的是私有倉庫,那麼此時就需要通過登錄倉庫從而獲得鏡像。
如果想通過公開倉庫獲得鏡像可以不用登錄這一步,直接拉取鏡像;如果想拉取私有倉庫里的鏡像則需要登錄。
我們獲得私有鏡像可以通過登錄官方倉庫(Docker Hub),也可以登錄第三方倉庫獲取,如阿里雲或騰訊雲。
如果要使用官方Docker Hub,則需要到官方地址去註冊一個Docker Hub的個人帳號,官方地址://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鏡像等實例。