什麼是容器
容器是應用層的抽象,它是一個標準化的單元。上圖左側是基於容器的應用,右側是基於虛擬機的應用。容器裏是不包含操做系統相關的一些內容的,因此這樣相對於虛擬機來講就比較輕量級一些。docker
認識Docker
Docker最先是一家作PaaS的公司dotCloud開源的一個高級容器引擎。不過無意插柳柳成蔭的是 dotCloud公司作的PaaS名氣不大,可是開源的這個容器引擎被普遍使用。通常咱們使用命令行客戶端與DOCKER_HOST上的守護進程交互,在守護進程中管理鏡像,把鏡像變成一個個具體的容器。全部的鏡像託管於相似Docker Hub這樣一個Registry裏。ubuntu
不一樣人眼中的Docker
對於開發而言
對於運維而言
Docker經常使用命令
鏡像相關
- docker pull
- docker search
容器相關
- docker run
- docker start/stop <容器名>
- docker ps <容器名>
- docker logs <容器名>
docker run的經常使用選項
docker run [options] image [command] [arg...]bash
選項說明
- -d ,後臺運行
- -e,設置環境變量
- -p 宿主端口:容器端口
- --name,指定容器名稱
- -v 宿主目錄:容器目錄,掛載磁盤卷
- -i:容許對容器內的標準輸入進行交互
- -t:在新容器內指定一個僞終端
舉個🌰
啓動容器並執行命令
docker run ubuntu:15.10 /bin/echo "Hello world"
docker run [鏡像名稱] [建立容器後執行的命令]運維
與容器進行交互
docker run -i -t ubuntu:15.10 /bin/bash
docker run [options] [鏡像名] [執行的命令]阿里雲
後臺啓動容器
docker run -d ubuntu:15.10
docker run [options] [鏡像名]操作系統
docker ps的經常使用操做
- docker ps:查看運行的容器
- docker ps -a:查看全部的容器
- docker ps -q:只顯示容器的編號
docker exec的經常使用操做
- docker exec -it [container id] /bin/bash
docker start的操做
- docker start [container id]:啓動一個容器
docker export導出
- docker export [contatiner id] > file_name.tar:導出某個容器
docker import導入
- docker import my_ubuntu_v3.tar runoob/ubuntu:v4:從文件建立鏡像
國內Docker鏡像配置
官方Docker Hub
官方鏡像
阿里雲鏡像