第一天docker入門
阿新 • • 發佈:2018-04-03
poi zed dac ever 實例化 ble true ade lag
【01 入門】
docker 最核心為三部分組成 鏡像,倉庫和容器
鏡像:一個只讀的模板
倉庫:代碼倉庫,鏡像的集合
容器:鏡像的實例化進程
我們可以這樣理解 容器就是一個沙箱,docker利用容器運行和隔離應用,每個容器之間都是彼此獨立的
第一次使用docker
[1]查看版本
root@SSS:/data# docker version Client: Version: 1.13.1 API version: 1.26 Go version: go1.7.4 Git commit: 092cba3 Built: Thu Sep 7 17:09:45 2017 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Go version: go1.7.4 Git commit: 092cba3 Built: Thu Sep 7 17:09:45 2017 OS/Arch: linux/amd64 Experimental: false
docker 由客戶端和服務器組成
[2]使用鏡像
##查看本地鏡像 root@SSS:/data# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f975c5035748 3 weeks ago 112 MB ##這裏我們有一個Ubuntu 16.04 鏡像
我們還可以獲取其他鏡像 如果不加參數 默認會去 docker hub 裏面拉取 你可以指定遠程的docker源 這個很pip yum 很像
root@SSS:/data# docker pull ubuntu:15.04 15.04: Pulling from library/ubuntu 9502adfba7f1: Pull complete 4332ffb06e4b: Pull complete 2f937cc07b5f: Pull complete a3ed95caeb02: Pull complete Digest: sha256:2fb27e433b3ecccea2a14e794875b086711f5d49953ef173d8a03e8707f1510f Status: Downloaded newer image for ubuntu:15.04 root@SSS:/data# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f975c5035748 3 weeks ago 112 MB ubuntu 15.04 d1b55fd07600 2 years ago 131 MB
這裏我們就有兩個鏡像啦
當然我們可以執行遠程的源
root@SSS:/data# docker pull hub.c.163.com/public/ubuntu:14.04 14.04: Pulling from public/ubuntu f4ab0b34ba6a: Pull complete 2f0787dc0bfe: Pull complete 54c427d77362: Pull complete 51e87d5424ff: Pull complete 5dfa314e7290: Pull complete a3ed95caeb02: Pull complete Digest: sha256:ffc2fc66f8e0bfa4b417b817054d3ebec130c8db44342b8fa394e25779633257 Status: Downloaded newer image for hub.c.163.com/public/ubuntu:14.04 root@SSS:/data#
這裏演示的是從163的源 下載鏡像
docket tag 可以一個docker鏡像增加一個標簽 實際上還是一個鏡像 但是新建一個快捷名稱
root@SSS:/data# docker tag ubuntu:15.04 test:15.04 root@SSS:/data# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f975c5035748 3 weeks ago 112 MB hub.c.163.com/public/ubuntu 14.04 2fe5c4bba1f9 2 years ago 237 MB ubuntu 15.04 d1b55fd07600 2 years ago 131 MB test 15.04 d1b55fd07600 2 years ago 131 MB
docker inspect 可以列出鏡像的詳細信息
root@SSS:/data# docker inspect ubuntu:15.04 [ { "Id": "sha256:d1b55fd07600b2e26d667434f414beee12b0771dfd4a2c7b5ed6f2fc9e683b43", "RepoTags": [ "test:15.04", "ubuntu:15.04" ], "RepoDigests": [ "ubuntu@sha256:2fb27e433b3ecccea2a14e794875b086711f5d49953ef173d8a03e8707f1510f" ], "Parent": "", "Comment": "", "Created": "2016-01-26T17:48:34.465253028Z", "Container": "cc20825e9e02f79fe62f1b08bc30aea4299dbcd77ad0da58b00dec38aba7334a", "ContainerConfig": { "Hostname": "d2d404286fc4", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": null, "Cmd": [ "/bin/sh", "-c", "#(nop) CMD [\"/bin/bash\"]" ], "Image": "4913eece27c087d06635d32b98c50464b2f1d17bba86be7d4616738f1cfef0af", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": null }, "DockerVersion": "1.8.3", "Author": "", "Config": { "Hostname": "d2d404286fc4", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": null, "Cmd": [ "/bin/bash" ], "Image": "4913eece27c087d06635d32b98c50464b2f1d17bba86be7d4616738f1cfef0af", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": null }, "Architecture": "amd64", "Os": "linux", "Size": 131299498, "VirtualSize": 131299498, "GraphDriver": { "Name": "aufs", "Data": null }, "RootFS": { "Type": "layers", "Layers": [ "sha256:3cbe18655eb617bf6a146dbd75a63f33c191bf8c7761bd6a8d68d53549af334b", "sha256:84cc3d400b0d610447fbdea63436bad60fb8361493a32db380bd5c5a79f92ef4", "sha256:ed58a6b8d8d6a4e2ecb4da7d1bf17ae8006dac65917c6a050109ef0a5d7199e6", "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" ] } } ] r
這裏docker會返回一個字典
用-f 參數就可以獲取其中一個
root@SSS:/data# docker inspect ubuntu:15.04 -f {{".Id"}} sha256:d1b55fd07600b2e26d667434f414beee12b0771dfd4a2c7b5ed6f2fc9e683b43
用docker history 可以查看鏡像歷史
root@SSS:/data# docker history ubuntu:15.04 IMAGE CREATED CREATED BY SIZE COMMENT d1b55fd07600 2 years ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B <missing> 2 years ago /bin/sh -c sed -i ‘s/^#\s*\(deb.*universe\... 1.88 kB <missing> 2 years ago /bin/sh -c echo ‘#!/bin/sh‘ > /usr/sbin/po... 701 B <missing> 2 years ago /bin/sh -c #(nop) ADD file:3f4708cf445dc1b... 131 MB
[3] 搜索鏡像
使用docker serch 可以搜索鏡像名稱
支持的參數有:
--automated=ture|false 僅顯示 自動創建的鏡像,默認為否
--no-trunc=ture|false 輸出信息不截斷顯示 默認為否
-s 指定評分
root@SSS:/data# docker search --automated -s 3 nginx Flag --automated has been deprecated, use --filter=automated=true instead Flag --stars has been deprecated, use --filter=stars=3 instead NAME DESCRIPTION STARS OFFICIAL AUTOMATED jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1300 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 540 [OK] jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 338 [OK] webdevops/php-nginx Nginx with PHP-FPM 97 [OK] zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server ... 48 [OK] bitnami/nginx Bitnami nginx Docker Image 45 [OK] 1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 31 [OK] tobi312/rpi-nginx NGINX on Raspberry Pi / armhf 19 [OK] wodby/drupal-nginx Nginx for Drupal container image 9 [OK] webdevops/nginx Nginx container 8 [OK] blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 8 [OK] nginxdemos/hello NGINX webserver that serves a simple page ... 5 [OK] 1science/nginx Nginx Docker images that include Consul Te... 4 [OK]
[4] 刪除鏡像
docker rmi 指定tag 或者 ID
-f 強制刪除正在運行的容器
[5] 創建鏡像
第一天docker入門