docker開發級別入門級常用命令(超詳細)

  作爲一個開發工作者,繁忙工作之餘,自學了一些運維的東西,今天寫的是關於docker的一些入門級別的東西,這裏包含了本人所有在docker踩的坑,以此記錄,後人警戒。

1.docker  search  XXX (搜索)

用docker在鏡像倉庫搜索自己想要的東西。

2.docker pull XXX(下載鏡像)

用docker下載第一步搜索到的鏡像,如果有多個版本應該用(docker pull   XXXX:版本號)來下載自己想要的鏡像,沒有默認下載最新的版本latest,如果下載失敗,那麼你的鏡像名稱可能在鏡像倉庫不存在,建議先使用第一步操作,查看清楚自己需要的鏡像全稱。

3.docker images (查詢自己本地的所有鏡像)

docker查詢自己在網上下載到本地的所有鏡像。

4.docker run -d  -p 3306:3306 --name dockersql  -e MYSQL_ROOT_PASSWORD=123456 mysql:5.70   (啓動mysql5.70)

其中,-d 指的是後臺運行,這個建議一定要寫,否則你開啓之後會無法繼續操作docker,只能ctrl+c強制退出才能繼續操作。

-p 指的是自定義映射端口到docker的mysql的3306端口,藍色字體可以自己修改,需要注意的是這裏的 -p 是小寫的,大寫的-P是指隨機給mysql分配端口,--name是指給你的容器取一個別名,方便後續的操作,別名是不能重複的,如果之前你取來一個這樣的容器別名並且run之後(不管成功與否),必須要刪除這個容器才能繼續取相同的別名,否則會報錯,刪除看第7條。 -e MYSQL_ROOT_PASSWORD是給你的root用戶設置密碼,mysql:5.70是你的鏡像名稱和版本號,如果是版本是最新的(latest),那麼版本號可以不寫。

5.docker ps(查詢正在運行的容器)

查詢正在啓動的所有容器信息,需要。

6.docker stop (容器ID或者別名)  (docker優雅的停止某一個容器)

使用docker停止某一個容器,別名是上面通過--name設置的屬性,可以用來停止或者restart它,所以別名不能重複,之所以稱stop是優雅的停止,它可以等容器工作保存完後再退出,使用kill直接停止,無視容器是否保存正在運行的工作。

7.docker rm和docker rmi(刪除容器和鏡像)

rm刪除容器,rmi刪除鏡像,個人最開始對rm和rmi總是記不清,來科普下容器和鏡像的區別。我們從遠程倉庫下載下來的都是鏡像,當鏡像運行的時候,就生成了一個容器,鏡像是容器的模板,兩個不會互相影響。可以理解爲鏡像是放在硬盤中,需要用的時候拿出來,變成鏡像放入內存中。停止之後,容器雖然消失了,但是緩存中還是存在的,可以直接喚醒,除非你直接把它刪掉,刪掉了之後下次在用就必須再次從硬盤中拉取鏡像,就這麼個意思。這裏給出一個小技巧,rmi可以理解爲rm images,而images就是鏡像的命令,所以rm就理所應當是容器啦。當你在使用stop之後,使用docker ps顯示是停止了,但是在容器裏面有一個記錄,類似sql文件一樣,可以使用docker ps -a查詢所有,包含停止的容器。如果容器已有的別名,那麼你新建的容器別名就不能重複,除非你刪掉已存在的同名的容器纔可以,可以使用(docker rm 容器ID或者別名)刪掉某一個容器。

8.docker log (容器ID或者別名)(查看某一個容器的日誌)

docker查看某一個容器的日誌

9.docker stop `docker ps` (停止所有運行的容器)

停止所有運行的docker容器,還有一種寫法:docker stop $( docker ps ),需要注意的是這個符號`是tab上面的那個鍵。

10.docker rm `docker ps -a`

刪除所有的容器,包括停止的容器,在此之前建議先使用第9步停掉所有運行的容器,還有一種寫法: docker rm $(docker ps -a)。

11.docker rmi consul:latest (刪除鏡像id相同的兩個中的其中一個)

如果你使用了標籤tag,那麼會有兩個鏡像ID一模一樣的鏡像,這時候如果要刪除其中一個,可以使用鏡像名稱和版本的格式刪除其中一個。

這是我入門時摸索docker所有爬過的坑,分享給你,如果對你有用,請點個贊再走,謝謝!

 

 

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