簡介:Docker是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試經過的容器能夠批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其餘的基礎應用平臺。 Docker是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試經過的容器能夠批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其餘的基礎應用平臺。 Docker一般用於以下場景: web應用的自動化打包和發佈; 自動化測試和持續集成、發佈; 在服務型環境中部署和調整數據庫或其餘的後臺應用; 從頭編譯或者擴展示有的OpenShift或Cloud Foundry平臺來搭建本身的PaaS環境。 Docker組成:Docker server/client Docker組件:鏡像(p_w_picpath)、容器(container)、倉庫(repository) 一、Docker安裝: 1.1 Ubuntu 14.04及以上版本: apt-get update apt-get install -y docker.io ln -sf /usr/bin/docker.io /usr/local/bin/docker sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io 1.2 Ubuntu 14.04如下版本: apt-get update apt-get install -y linux-p_w_picpath-generic-lts-raring linux-headers-generic-lts-raring reboot apt-get update apt-get install -y docker.io ln -sf /usr/bin/docker.io /usr/local/bin/docker sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io 1.3 CentOS 6及以上版本 rpm -ivh yum install docker-io -y 對於CentOS 7系統,Exras源中已經包含內置的Docker,能夠直接yum安裝 yum install -y docker 二、Docker基本操做 2.1 鏡像: 如下操做以CentOS鏡像爲例 查找鏡像:docker search centos OFFICIAL是否爲官方 AUTOMATED是否爲自動部署 獲取鏡像:docker pull centos latest: Pulling from centos 47d44cb6f252: Pull complete 8aa7f4a1dd13: Pull complete e0f5867add13: Pull complete eeb3a076a0be: Pull complete Digest: sha256:1b9adf413b3ab95ce430c2039954bb0db0c8e2672c48182f2c5b3... Status: Downloaded newer p_w_picpath for centos:latest 查看鏡像:docker p_w_picpaths REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest eeb3a076a0be 3 weeks ago 196.7 MB 2.2 容器 測試啓動一個容器:docker run centos /bin/echo 'Hello,Docker' Hello,Docker 查看啓動的容器:docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cf4d4e222f14 centos "/bin/echo Hello,Doc 29 seconds ago Exited (0) 27 seconds ago(表示已退出) desperate_lovelace 提示:docker run centos,若是centos沒有這個鏡像,會先下載後啓動 在後臺啓動一個容器: docker run -d --name mynginx -h nginx nginx 經過docker ps -a能夠看到 -h 指定主機名 進入容器: 獲取mynginx的PID docker inspect --format "``.`State`.`Pid`" mynginx 23247 nsenter --target 23247 --mount --uts --ipc --pid 進入容器後查看進程: root@692b5e7b9c32:/# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 31624 3024 ? Ss 04:05 0:00 nginx: master process nginx -g daemon off; nginx 9 0.0 0.1 32008 1740 ? S 04:05 0:00 nginx: worker process