Docker 是一個開源項目,為開發者和系統管理員提供了一個開放的平台,在任何地方通過打包和運行應用程序作為一個輕量級的容器。Docker 在軟件容器內自動部署應用程序。Docker 最開始由 Solomon Hykes 作為 dotCloud 一個內部開發項目,一個企業級的 PaaS (platform as a service 服務平台),該軟件現在由 Docker 社區和 Docker 公司維護,更多 Docker 信息你可以訪問:https://docs.docker.com/。
我們可以通過 Docker 官方提供的 KVM 與 Docker 的圖片更加形象的知道什么是 Dock:
安裝 Docker 所需條件:需要 64 位架構的系統和Linux 3.10 內核或更高版本。這里作者使用了 Ubuntu15.04 系統的 3.19 內核版本。
關於 Docker 再多了解一些
在這里你可以了解到 docker 世界最基本的條件。
Docker Images
Docker image 是 Docker container 最基本的模板。image 通用容器使系統和應用易於安裝,Docker image 是用來運行的容器,你可以找到許多 images (多種操作系統和軟件已經被安裝好了的 Docker)在這里 https://hub.docker.com/.
Docker Container
Docker 容器(Docker Container)是一個 Image,在運行的 Docker image 上讀取和寫入。Docker 是一個聯合的文件系統作為容器后台,容器的任何變化,都將被保存在一個基本 image 新的層上。我們安裝應用程序的層就是容器。每個在主機機上運行的容器都是獨立的,因此,提供了一個安全的應用平台。
Docker Registry
Docker registry 是為 Docker images 提供的庫。它提供了公共和私有庫。公共 Docker 庫被叫做 Docker Hub。這里我們能夠上傳 push 和 pull 我們自己的 images.
在 Ubuntu 15.04 上安裝 Docker
以下我們將指導你如何安裝 docker。在安裝之前我們需要檢查 kernel 版本和操作系統架構。
運行命令:
uname -a
你可以看到我們使用的是 ubuntu 15.04 64位版本和 kernel 3.19 內核。
現在運行安裝 Docker 的命令:
sudo apt-get install -y docker.io
等待安裝完畢,現在我們使用下面的命令啟動 Docker:
systemctl start docker
報錯:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/search?limit=25&term=ubuntu: dial unix /var/run/docker.sock: connect: permission denied
解決:
sudo groupadd docker #添加docker用戶組 sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中 newgrp docker #更新用戶組 docker ps #測試docker命令是否可以使用sudo正常使用
if: The docker-compose version is too low. current version: 1.8.0, mininum version:1.10.0 solution: sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version
運行系統引導時啟用 docker,命令:
systemctl enable docker
你可能想核對一下 docker 版本:
docker version
現在,docker 已經安裝在您的系統上。您可以從 Docker 庫先下載 Docker Image 制作的容器。
Docker 的基本用法
在本節中,我將向您介紹 Docker 命令的常用選項。例如如何下載一個 docker image,打造一個容器,以及如何訪問容器。
要創建一個新的容器,你應該選擇一個基本 image 的操作系統,例如啟動 Ubuntu 或者 CentOS 或其他系統。您可以搜索一個基本 image 使用 Docker 搜索命令:
docker search ubuntu
該命令將顯示所有 ubuntu images,你可以自己嘗試一下搜索 centos Images。
現在我們現在 base image到我們的服務中,使用命令:
docker pull ubuntu
現在,您可以通過使用命令來查看所有已下載的images:
docker images
Ubuntu 鏡像從DockerHub/Docker Registry下載。下一步驟是創建從該鏡像的容器。
要創建容器,可以使用docker create 或 docker run
docker create ubuntu:14.04
docker create 命令會創建一個新的容器,但不會啟動它。所以現在你需要使用運行命令:
docker run -i -t ubuntu:14.04 /bin/bash
此命令將創建並運行一個基於 Ubuntu14.04 鏡像的容器,容器內並運行一個命令/bin/bash,您將在容器內自動運行命令。
當你輸入 Exit 命令退出容器時,容器也是停止運行,如果你想容器在后台運行需要在命令后面添加 -d 參數。
docker run -i -t -d ubuntu:14.04 /bin/sh -c “while true; do echo hello world; sleep 1; done”
/bin/sh -c “while true; do echo hello world; sleep 1; done” this is bash script to echo “hello word” forever.
現在你可以看到容器在后台運行通過命令:
docker ps
如果你想從 bash 命令看日志結果,使用命令:
docker logs NAMES/ContainerID
怎樣在后台訪問容器 shell?這個命令將會連接你的容器 shell:
docker exec -i -t NAMES/ContainerID
你可以看到主機名和容器ID是相等的,這意味着你在容器shell內。當你在shell 上鍵入’exit`,會離開的shell,但容器仍在運行。
你會經常使用的另一個命令是:
docker stop NAME/ContainerID
這將停止容器而不將其刪除,這樣你就可以用命令重新啟動它:
docker start NAME/ContainerID
如果你想刪除的容器,先停止它,然后用命令將其刪除:
docker rm NAME/ContainerID
這是簡單的使用方法,詳細使用可訪問這里。
Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04安裝Docker http://www.linuxidc.com/linux/2014-08/105656.htm
Ubuntu使用VNC運行基於Docker的桌面系統 http://www.linuxidc.com/Linux/2015-08/121170.htm
阿里雲CentOS 6.5 模板上安裝 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm
Ubuntu 15.04下安裝Docker http://www.linuxidc.com/Linux/2015-07/120444.htm
在Ubuntu Trusty 14.04 (LTS) (64-bit)安裝Docker http://www.linuxidc.com/Linux/2014-10/108184.htm
Docker 的詳細介紹:請點這里
Docker 的下載地址:請點這里