Docker實戰
Docker安裝
Docker對系統的要求:
Docker 對CentOS的版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit)或者更高的版本
前提條件:
Docker 運行在CentOS 7 上,要求系統爲64位、系統內核爲3.10以上
Docker 運行在CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲2.6.32-431 或者更高版本。
查看系統版本號
[root@server ~]# cat /etc/redhat-release # 查看系統版本號
CentOS Linux release 7.3.1611 (Core)
[root@server ~]# uname -r # 查看內核
3.10.0-514.el7.x86_64
使用網絡源安裝Docker
[root@server ~]# yum -y install docker # 我這裏使用的阿里雲源r)
[root@server ~]# systemctl start docker # 啓動Docker
[root@server ~]# systemctl enable docker # 加入開機自啓動
查看docker版本信息
[root@server ~]# docker version # 查看docker版本信息
Client: # docker客戶端版本信息
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:48:22 2018
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine: # docker服務端版本信息
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:19:08 2018
OS/Arch: linux/amd64
Experimental: false
Docker run/create常用參數
-p:端口映射。
-v:創建數據卷
-i:交互式訪問容器。
-t:分配一個虛擬終端。
-d:後臺運行容器。
–name:爲容器起一個名字
Docke鏡像管理
- 搜索鏡像:docker search
[root@server ~]# docker search centos #搜索所有的centos的docker鏡像
NAME(名稱) DESCRIPTION(描述) STARS(下載次數) OFFICIAL(官方) AUTOMATED(自動化)
centos The official build of CentOS. 5091 [OK]
ansible/centos7-ansible Ansible on Centos7 119 [OK]
docker search 參數說明:
–automated=true I false:僅顯示自動創建的鏡像,默認爲否;
–no-trunc=true | false:輸出信息不截斷顯示,默認爲否;
-s,–stars=X:指定僅顯示評價爲指定星級以上的鏡像,默認爲 0,即輸出所有鏡像。
- 搜索鏡像:獲取鏡像docker pull
[root@server ~]# docker pull centos #獲取centos鏡像
Using default tag: latest
latest: Pulling from library/centos
a02a4930cb5d: Pull complete
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Downloaded newer image for centos:latest - 查看鏡像docker images
[root@server ~]# docker images #查看docker鏡像
REPOSITORY(來自哪個倉庫) TAG(標籤) IMAGE ID(唯一ID) CREATED(創建時間) SIZE(大小)
nginx latest 7042885a156a 7 days ago 109MB
centos latest 1e1148e4cc2c 4 weeks ago 202MB
列表包括了倉庫名,標籤,鏡像ID,創建時間以及所佔用的空間。
鏡像ID則是鏡像的唯一標識,一個鏡像可以有多個標籤。
- 刪除鏡像 docker rmi
docker rmi [選項] <鏡像>
使用docker rmi 刪除本地鏡像,後面可以跟鏡像ID或者標籤。
[root@server ~]# docker rmi imageID/imageName/ # 刪除docker鏡像
刪除鏡像之前必須先用docker rm 刪除依賴於這個鏡像的所有容器。docker rm是移除容器,docker rmi是刪除鏡像。
- 導出鏡像 docker save
如果要導出鏡像到本地,提供給另一臺機器使用,可以使用docker save。[root@server ~]# docker save centos > /tmp/docker_centos.tar #導出docker鏡像到本地
[root@server ~]# ll /tmp/docker_centos.tar
-rw-r–r-- 1 root root 210186752 1月 5 16:05 /tmp/docker_centos.tar - 給鏡像打標籤 docker tag
利用docker tag可以給鏡像添加一個新的標籤,docker tag 原標籤 新標籤。
[root@server ~]# docker image ls #打標籤前查看
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 1e1148e4cc2c 4 weeks ago 202MB
nginx 1.11 5766334bdaa0 21 months ago 183MB
[root@server ~]# docker tag centos centos:7.2 #給centos打一個新的標籤
[root@server ~]# docker image tag nginx:1.11 nginx:1.12 #給nginx打一個新的標籤
[root@server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7.2 1e1148e4cc2c 4 weeks ago 202MB
centos latest 1e1148e4cc2c 4 weeks ago 202MB
nginx 1.11 5766334bdaa0 21 months ago 183MB
nginx 1.12 5766334bdaa0 21 months ago 183MB