現在docker火的程度已經不用再多說了,而且很多大型的互聯網公司都已經把自己的項目部署到了docker上以方便運維人員的維護,例如某東。
作爲一個java開發人員,不需要像運維人員那樣對docker操作那麼熟悉,但是如果能掌握一些的話,也是會給我們開發和部署帶來極大的方便的。
1.下載
https://github.com/boot2docker/windows-installer/releases/latest
這個目前好像不支持win10
還有安裝之前,記得在bios設置中把那個CPU虛擬化技術支持打開。
安裝過程非常簡單就是一直下一步,最後選擇始終信任來自。。。的軟件,安裝通用串行總線控制器,然後重啓電腦。
雙擊Boot2Docker start圖表,然後docker -v
2.Docker鏡像操作
鏡像檢索:docker search 鏡像名例如:docker serach redis
鏡像下載:docker pull 鏡像名例如:docker pull redis
鏡像列表:docker images
刪除單個鏡像:docker rmi image-id(通過鏡像id刪除)
刪除所有鏡像:docker rmi $(docker images -q)
補充:當我們要刪除一個鏡像的時候,一定要先刪除鏡像上的容器,否則鏡像無法刪除
3.Docker容器操作(運行中的容器其實是一個功能完備的Linux操作系統,所以我們可以像常規的系統一樣登錄並訪問容器)
運行鏡像爲容器:docker run --name 容器名 -d 鏡像名
容器列表:docker ps(運行着的容器)
所有容器:docker ps -a(所有的容器)
停止容器:docker stop 容器名/容器id
開始容器:docker start 容器名/容器id
刪除容器:docker rm 容器id
刪除所有容器:docker rm $(docker ps -a -q)
容器日誌:docker logs 容器名/容器id
登錄容器:docker exec -it 容器名/容器id bash
退出容器:exit或者Ctrl+D
4.端口映射
Docker容器中運行的軟件所使用的端口,在本機和本機的局域網是不能訪問的,所以我們需要將Docker容器中的端口映射到當前主機的端口上,
這樣我們就能夠訪問該軟件了。
以redis爲例,映射容器的6379端口刀本機的6378端口,命令如下:
docker run -d -p 6378:6379 --name 新容器名 鏡像名
執行完之後又會出現一個新的redis鏡像的容器。
注意!我這裏的本機是運行在我windows 上的那個虛擬機,並不是我自己的這臺電腦。所以我們還需要再做一次端口的映射。
將虛擬機的6378端口再映射到我用的電腦上。
最後再提示一下,從那個docker.io上pull鏡像特別的慢,還老不成功,需要反覆多嘗試幾次,有時候需要嘗試10次左右才成功。一種方式是
輸入boot2docker ssh進入虛擬機操作,操作完了再exit出來。還有一種方式是使用阿里的docker倉庫,怎麼配置就自行百度吧,配置過程有點小麻煩。
https://dev.aliyun.com/search.html
Docker對鏡像的管理類似於git,Docker有DockerHub