Docker安裝
環境centos7.2.1511
安裝好的docker版本爲1.13.1
Docker version 1.13.1, build 8633870/1.13.1
版本介紹:
Docker從17.03開始,轉向基於時間的YY.MM 形式的版本控制方案,類似於Canonical爲Ubuntu所使用的版本控制方案。
Docker CE 17.03,可理解爲Docker 1.13.1的Bug修復版本
建議在linux環境下安裝Docker,window環境搭建比較複雜且容易出錯,使用Centos7+yum來安裝Docker環境很方便。
Docker 軟件包已經包括在默認的 CentOS-Extras 軟件源裏。因此想要安裝 docker,只需要運行下面的 yum 命令:
yum install docker
安裝完成後,使用下面的命令來啓動 docker 服務,並將其設置爲開機啓動:
service docker start
chkconfig docker on
LCTT 譯註:此處採用了舊式的 sysv 語法,如採用CentOS 7中支持的新式 systemd 語法,如下:
systemctl start docker.service
systemctl enable docker.service
測試
docker version
輸入上述命令,返回docker的版本相關信息,證明docker安裝成功。
Hello World
下面,我們通過最簡單的 image 文件"hello world",感受一下 Docker。
因爲國內連接 Docker 的官方倉庫很慢,因此我們在日常使用中會使用Docker 中國加速器。通過 Docker 官方鏡像加速,中國區用戶能夠快速訪問最流行的 Docker 鏡像。該鏡像託管於中國大陸,本地用戶現在將會享受到更快的下載速度和更強的穩定性,從而能夠更敏捷地開發和交付 Docker 化應用。
Docker 中國官方鏡像加速可通過registry.docker-cn.com
訪問。該鏡像庫只包含流行的公有鏡像,私有鏡像仍需要從美國鏡像庫中拉取。
修改系統中docker對應的配置文件即可,如下:
vi /etc/docker/daemon.json
#添加後
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
運行下面的命令,將 image 文件從倉庫抓取到本地。
docker pull library/hello-world
上面代碼中,docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在倉庫裏面的位置,其中library是 image 文件所在的組,hello-world是 image 文件的名字。
抓取成功以後,就可以在本機看到這個 image 文件了。
docker images
#顯示結果
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest f2a91732366c 3 months ago 1.848 kB
現在,運行這個 image 文件。
docker run hello-world
#顯示結果
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
輸出這段提示以後,hello world就會停止運行,容器自動終止。有些容器不會自動終止,因爲提供的是服務,比如Mysql鏡像等。
常用命令
除過以上我們使用的Docker命令外,Docker還有一些其它常用的命令
拉取docker鏡像
docker pull image_name
查看宿主機上的鏡像,Docker鏡像保存在/var/lib/docker目錄下:
docker images
刪除鏡像
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
查看當前有哪些容器正在運行
docker ps
查看所有容器
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 hub上下載某個鏡像:
docker pull centos:latest
docker pull centos:latest
執行docker pull centos會將Centos這個倉庫下面的所有鏡像下載到本地repository。