Docker的基本指令
1、啟動Docker
systemctl start docker
2、停止Docker
systemctl stop docker
3、重啟Docker
systemctl restart docker
4、開機啟動Docker
systemctl enable docker
5、檢視Docker概要資訊
docker info
6、檢視Docker幫助文件
docker --help
7、檢視Docker版本資訊
docker version
Docker映象常用命令
1,docker images 列出本機所有映象
docker images
OPTIONS可選引數:
--no-trunc | 顯示完整的映象描述 |
-s | 列出收藏數不小於指定值的映象 |
--automated | 只列出Docker Hub自動構建型別的映象 |
3,docker pull 下載映象
docker pull 映象名稱:[TAG]
注意:不加TAG,預設下載最新版本latest
4,docker rmi 刪除映象
1,刪除單個:docker rmi 映象名稱:[TAG]
如果不寫TAG,預設刪除最新版本latest
有映象生成的容器再執行時候,會報錯,刪除失敗;
我們需要加 -f 強制刪除
2,刪除多個:docker rmi -f 映象名稱1:[TAG] 映象名稱2:[TAG]
中間空格隔開
3,刪除全部:docker rmi -f $(docker images -qa)
5、Docker推送映象到hub伺服器
步驟一:
https://hub.docker.com/ 註冊下 得到docker id和密碼
步驟二:
我們用docker login登陸hub伺服器
步驟三:
docker push推送
docker push java1234/tomcat7:1.1
推送成功:
登陸 https://hub.docker.com/ 點選 Repositories 選單
Docker建立並啟動容器
1、docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--name="容器新名字":為容器指定一個名稱;
-i:以互動模式執行容器,通常與-t或者-d同時使用;
-t:為容器重新分配一個偽輸入終端,通常與-i同時使用;
-d: 後臺執行容器,並返回容器ID;
-P: 隨機埠對映,容器內部埠隨機對映到主機的埠
-p: 指定埠對映,格式為:主機(宿主)埠:容器埠
啟動普通容器: docker run --name 別名 映象ID
啟動互動式容器: docker run -it --name 別名 映象ID 來執行一個容器,取別名,互動模式執行,以及分配一個偽終端
守護式方式建立並啟動容器
docker run -di --name 別名 映象ID
執行完命令後,終端依然再宿主機上;
啟動容器,並執行/bin/bash命令;
docker run -it --name 別名 映象ID /bin/bash命令
埠對映;
docker run -it -p 8888:8080 tomcat
docker run -it -P tomcat
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean(基於docter下安裝jenkins)
Docker列出容器
docker ps [OPTIONS]
OPTIONS說明:
-a :顯示所有的容器,包括未執行的。
-f :根據條件過濾顯示的內容。
--format :指定返回值的模板檔案。
-l :顯示最近建立的容器。
-n :列出最近建立的n個容器。
--no-trunc :不截斷輸出。
-q :靜默模式,只顯示容器編號。
-s :顯示總的檔案大小。
docker ps 檢視正在執行的容器
docker ps -a 檢視所有容器
docker ps -n 2 顯示最近建立的2個容器
docker ps -f status=exited 檢視停止的容器
Docker退出容器
exit 容器停止退出
ctrl+P+Q 容器不停止退出
Docker進入容器
docker attach 容器ID or 容器名
docker exec -ti 容器ID /bin/bash
Docker啟動容器:docker start 容器ID or 容器名
Docker重啟容器: docker restart 容器ID or 容器名
Docker停止容器:
docker stop 容器ID or 容器名
docker kill 容器ID or 容器名
Docker刪除容器
docker rm 容器ID
強制刪除docker rm -f 容器ID
刪除多個容器
docker rm -f 容器ID1 容器ID2 中間空格隔開
刪除所有容器
docker rm -f $(docker ps -qa)
Docker宿主機和容器之間檔案拷貝 docker copy
宿主機檔案 copy to 容器內
docker cp 需要拷貝的檔案或者目錄 容器名稱:容器目錄
容器內 copy to 宿主機
docker cp 容器名稱:容器目錄 宿主機目錄
Docker 檢視容器日誌docker logs
$ docker logs [OPTIONS] CONTAINER
Options:
--details 顯示更多的資訊
-f, --follow 跟蹤實時日誌
--since string 顯示自某個timestamp之後的日誌,或相對時間,如42m(即42分鐘)
--tail string 從日誌末尾顯示多少行日誌, 預設是all
-t, --timestamps 顯示時間戳
--until string 顯示自某個timestamp之前的日誌,或相對時間,如42m(即42分鐘)
(以上了解)
鋒哥推薦,簡單粗糙方式,直接去docker容器檔案裡找;
具體未知:/var/lib/docker/containers/
每個容器對應一堆檔案,然後有個log結尾的,就是日誌檔案;
我們開啟;
很直觀 假如時間長了 日誌檔案很大,直接自己操刀處理即可;
Docker檢視容器程序: docker top 容器ID
Docker提交執行時容器成為映象docker commit
docker commit -a='作者' -m='備註' 執行時容器ID 新映象名稱
Docker推送映象到阿里雲
很多時候,中小公司為了方便搭建私有倉庫方便,直接使用穩定的阿里雲映象倉庫,方便公司內部業務系統直接拉取映象;
步驟一:
進入:https://cr.console.aliyun.com 阿里雲映象控制檯 需要註冊 使用者名稱就是你的淘寶或者支付寶 賬號名稱 ,映象控制檯密碼單獨設定;
步驟二:
進入控制檯,我們先建立名稱空間,再建立映象;
然後我們可以根據阿里雲官方提示說明來進行映象遠端登入,提交,以及拉取操作,簡單易用;
很多時候,中小公司為了方便搭建私有倉庫方便,直接使用穩定的阿里雲映象倉庫,方便公司內部業務系統直接拉取映象;
步驟一:
進入:https://cr.console.aliyun.com 阿里雲映象控制檯 需要註冊 使用者名稱就是你的淘寶或者支付寶 賬號名稱 ,映象控制檯密碼單獨設定;
步驟二:
進入控制檯,我們先建立名稱空間,再建立映象;
然後我們可以根據阿里雲官方提示說明來進行映象遠端登入,提交,以及拉取操作,簡單易用;
Docker容器目錄掛載
簡介:
容器目錄掛載:
我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以實現宿主機和容器目錄的雙向自動同步;
作用:
前面學過cp命令來實現資料傳遞,這種方式比較麻煩;
我們通過容器目錄掛載,能夠輕鬆實現程式碼上傳,配置修改,日誌同步等需求;
實現:
語法:
docker run -it -v /宿主機目錄:/容器目錄 映象名
多目錄掛載
docker run -it -v /宿主機目錄:/容器目錄 -v /宿主機目錄2:/容器目錄2 映象名
注意:
如果你同步的是多級目錄,可能會出現許可權不足的提示;
這是因為Centos7中的安全模組selinux把許可權禁掉了,我們需要新增 --privileged=true 來解決掛載的目錄沒有許可權的問題;
掛載目錄只讀:
docker run -it -v /宿主機目錄:/容器目錄:ro 映象名