基本使用命令:
[root@ipha-dev71-1 docker]# docker search python # 搜索镜像 [root@ipha-dev71-1 docker]# docker pull centos/python-36-centos7 # 下载镜像 [root@ipha-dev71-1 docker]# docker images # 镜像查看(以下字段对应:仓库名称 版本号 镜像ID 创建时间 ) REPOSITORY TAG IMAGE ID CREATED SIZE centos/python-36-centos7 latest 046b1b132fcb 4 days ago 717MB hello-world latest fce289e99eb9 8 months ago 1.84kB training/webapp latest 6fae60ef3446 4 years ago 349MB [root@ipha-dev71-1 docker]# docker rmi hello-world:latest # 删除镜像 [root@ipha-dev71-1 home]# docker save -o /home/docker_dir/python.tar centos/python-36-centos7 # 镜像保存,-o是指定写入的文件名和路径 [chenjl@ipha-dev71-1 docker_dir]$ ll total 729264 -rw------- 1 root root 746766336 Sep 17 11:33 python.tar
docker rmi -f 容器id # 强制删除镜像
docker image prune # 批量删除未使用的容器
创建镜像:
1.从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/ (就是上述介绍)
2.从已经创建的容器中更新镜像,并且提交这个镜像
3.使用 Dockerfile 指令来创建一个新的镜像
更新镜像:
[root@ipha-dev71-1 chenjl]# docker run -t -i ubuntu:14.04 /bin/bash # -t指定版本 -i进入交互模式 root@f24c1984b49a:/# exit # 退出容器(退出交互模式) [root@ipha-dev71-1 chenjl]# docker commit -m="has update" -a="mengmeng" f24c1984b49a mengmeng/ubuntu:v2 # -m是备注,-a是作者 sha256:0963e6b707d98b04a43d6b9641479dce221db063dbe3f22f8482869e7dec834d [root@ipha-dev71-1 chenjl]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mengmeng/ubuntu v2 0963e6b707d9 7 seconds ago 188MB
构建镜像:
[root@ipha-dev71-1 test]# pwd /home/docker_dir/test [root@ipha-dev71-1 test]# ll total 4 -rw-r--r-- 1 root root 41 Sep 22 11:15 Dockerfile [root@ipha-dev71-1 test]# cat Dockerfile FROM ubuntu:latest CMD echo hello world! [root@ipha-dev71-1 test]# docker build -t test-ubuntu:v1 . # 构建时指定版本 Sending build context to Docker daemon 2.048kB Step 1/2 : FROM ubuntu:latest latest: Pulling from library/ubuntu 5667fdb72017: Pull complete d83811f270d5: Pull complete ee671aafb583: Pull complete 7fc152dfb3a6: Pull complete Digest: sha256:b88f8848e9a1a4e4558ba7cfc4acc5879e1d0e7ac06401409062ad2627e6fb58 Status: Downloaded newer image for ubuntu:latest ---> 2ca708c1c9cc Step 2/2 : CMD echo hello world! ---> Running in 589a93408461 Removing intermediate container 589a93408461 ---> 37c9cfa35a08 Successfully built 37c9cfa35a08 Successfully tagged test-ubuntu:v1 [root@ipha-dev71-1 test]# docker build -t test-ubuntu:v1 . # 可以看到第二次构建快速很多,由于是从缓存中读的数据 Sending build context to Docker daemon 2.048kB Step 1/2 : FROM ubuntu:latest ---> 2ca708c1c9cc Step 2/2 : CMD echo hello world! ---> Using cache ---> 37c9cfa35a08 Successfully built 37c9cfa35a08 Successfully tagged test-ubuntu:v1
接上:
[root@ipha-dev71-1 test]# docker images # 查看构建的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE test-ubuntu v1 37c9cfa35a08 3 minutes ago 64.2MB mengmeng/ubuntu v2 0963e6b707d9 14 minutes ago 188MB 12306_ticket latest ddc31ea56cd9 11 hours ago 1.84GB <none> <none> d5857c982bb6 2 days ago 924MB ubuntu latest 2ca708c1c9cc 3 days ago 64.2MB ubuntu 14.04 2c5e00d77a67 4 months ago 188MB hello-world latest fce289e99eb9 8 months ago 1.84kB training/webapp latest 6fae60ef3446 4 years ago 349MB [root@ipha-dev71-1 test]# docker run 37c9cfa35a08 # 启动构建的镜像(只在第一次运行时使用,其余使用docker start) hello world!