1、docker的意義
2.1.程序在我這跑得好好的,在你那怎麼就不行呢?! 這是一個典型的應用場景,Docker image中包含了程序須要的全部的運行時依賴,好比java的程序,確定要在image中包含jdk;好比Python的程序,確定要在image中包含對應版本的Python解釋器。程序在我這跑得好好的,去你那就不行了,顯然是環境問題。Docker把整個運行時環境打包放到image中,因此搞定了環境依賴問題!
:Docker解決了運行環境和配置問題,方便發佈,也就方便作持續集成。代碼 + 運行環境 + 配置 + 依賴的服務,Docker image中包含了運行環境+配置,這對部署至關友好
2.更輕量的虛擬化,節省了虛擬機的性能損耗
3.構建Docker鏡像應該遵循哪些原則?java
總體遠側上,儘可能保持鏡像功能的明確和內容的精簡,要點包括: linux
4.如何控制容器佔用系統資源(CPU,內存)的份額
在使用docker create命令建立容器或使用docker run 建立並運行容器的時候,能夠使用-c|–cpu-shares[=0]參數來調整同期使用CPU的權重,使用-m|–memory參數來調整容器使用內存的大小。
5.Docker的默認存放位置是/var/lib/docker,若是但願將Docker的本地文件存儲到其餘分區,能夠使用Linux軟鏈接的方式來作。
6.Docker的配置文件放在那裏。如何修改配置
Ubuntu系統下Docker的配置文件是/etc/default/docker,CentOS系統配置文件存放在/etc/sysconfig/docker
7.Docker與LXC(Linux Container)有何不一樣
LXC利用Linux上相關技術實現容器,Docker則在以下的幾個方面進行了改進:nginx
移植性:經過抽象容器配置,容器能夠實現一個平臺移植到另外一個平臺;
鏡像系統:基於AUFS的鏡像系統爲容器的分發帶來了不少的便利,同時共同的鏡像層只須要存儲一份,實現高效率的存儲;
版本管理:相似於GIT的版本管理理念,用戶能夠更方面的建立、管理鏡像文件;
倉庫系統:倉庫系統大大下降了鏡像的分發和管理的成本;
周邊工具:各類現有的工具(配置管理、雲平臺)對Docker的支持,以及基於Docker的Pass、CI等系統,讓Docker的應用更加方便和多
2、docker 的常規命令
安裝 docker
yum clean all
yum install -y docker-engine docker-engine-selinuxdocker
設置開機啓動,啓動 docker 服務
systemctl enable docker
systemctl start dockercentos
系統剛剛配置完是沒有鏡像的
查看系統鏡像
docker images緩存
從官方源搜索鏡像
docker search busybox安全
下載鏡像
docker pull busybox
網上直接下載鏡像
上傳鏡像
docker push busyboxbash
把本地的鏡像備份爲 tar 包
docker save busybox(已經存在的鏡像名) >busybox.taride
把備份的tar包導入到本機鏡像
docker load <busybox.tar工具
練習導入鏡像
一、查看容器
docker ps
二、建立一個 bash 交互的容器
docker run -it centos /bin/bash
三、建立一個非交互的容器
docker run nginx
docker run -itd centos /bin/bash
查看鏡像列表
docker images
查看鏡像製做歷史docker history busybox
查看鏡像底層信息
docker inspect busybox
下載鏡像docker pull busybox
上傳鏡像docker push
刪除本地鏡像docker rmi busybox
鏡像另存爲tar包docker save busybox >busybox.tar
使用tar包導入鏡像
docker load <busybox.tar
搜索鏡像
docker search busybox
修改鏡像名稱和標籤
docker tag busybox:latest busybox:v1
容器相關命令
以交互模式啓動一個容器
docker run -it centos bash
啓動的容器放在後臺
docker run -itd centos bash
顯示正在運行的容器
docker ps
顯示全部容器
docker ps -a
顯示全部容器,但只顯示 id
docker ps -aq
啓動,中止,重啓容器
docker start|stop|restart 容器id
進入容器
docker exec -it 容器id /bin/bash
鏈接容器 console,exit 退出會致使容器關閉,能夠使用 CTRL +(p,q) 退出
docker attach 容器id
顯示容器詳細信息
docker inspect 容器id
查看容器內運行的進程
docker top 容器id
刪除容器
docker rm 容器id
關閉全部容器docker stop $(docker ps -aq)docker rm $(docker ps -aq)