Docker是一個開源的容器引擎,能夠幫助咱們更快的交付應用。Docker可將應用程序和基礎設施層隔離,而且能將基礎設施看成程序進行管理。可更快的打包、測試以及部署應用程序,並可減小從編寫到部署代碼的週期。linux
Docker屬於OS級別的虛擬化,kernel經過建立多個鏡像來隔離不一樣的app進程,因爲kernel是是共享,並且自己linux image也不大,性能損耗幾乎能夠不計,並且內存佔用也不大,大大節約了設備成本。nginx
一、拉取鏡像,Docker鏡像保存在/var/lib/docker目錄下docker
docker pull image_nameubuntu
二、刪除鏡像centos
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30tomcat
三、查看當前有哪些容器正在運行安全
docker psbash
四、查看全部容器服務器
docker ps -a網絡
五、啓動、中止、重啓容器命令
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
六、後臺啓動一個容器後,若是想進入到這個容器,可使用attach命令
docker attach container_name/container_id
七、刪除容器的命令:
docker rm container_name/container_id
八、查看當前系統Docker信息
docker info
九、執行docker pull centos會將Centos這個倉庫下面的全部鏡像下載到本地repository
docker pull centos:latest
十、docker run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 後臺運行容器,並返回容器ID;
-i: 以交互模式運行容器,一般與 -t 同時使用;
-p: 端口映射,格式爲:主機(宿主)端口:容器端口
-t: 爲容器從新分配一個僞輸入終端,一般與 -i 同時使用;
--name="nginx-lb": 爲容器指定一個名稱;
--dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 設置環境變量;
--env-file=[]: 從指定文件讀入環境變量;
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
--net="bridge": 指定容器的網絡鏈接類型,支持 bridge/host/none/container:<name|id> 四種類型;
--link=[]: 添加連接到另外一個容器;
--expose=[]: 開放一個端口或一組端口;
使用鏡像 nginx:latest,之後臺模式啓動一個容器,將容器的 80 端口映射到主機的 80 端口,主機的目錄 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
綁定容器的 8080 端口,並將其映射到本地主機 127.0.0.1 的 80 端口上。
$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash