如何安装Docker?请参考上一篇文章(传送门)
Docker环境信息、容器生命周期管理部分命令参考上一篇文章(传送门)
总结到了一张脑图上,可以做个参考,查看高清版请点我
1.docker login
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
1 | docker login [OPTIONS] [SERVER] |
示例:
1 | docker login -u username -p password |
你也可以这样直接docker login,然后会让你输入用户名和密码,验证成功就登录了。
2.docker logout
登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
示例:
1 | docker logout |
logout
3.docker search
从Docker Hub上查找指定的镜像
1 | docker search [OPTIONS] images |
示例 从Docker Hub查找所有镜像名包含nginx的,并且收藏数大于10的镜像:
1 | docker search -s 10 nginx |
search
4.docker pull
从镜像仓库中拉取或者更新指定镜像
1 | docker pull [OPTIONS] NAME[:TAG|@DIGEST] |
示例 从Docker Hub拉取nginx最新版镜像:
1 | docker pull nginx |
pull
5.docker push
将本地的镜像上传到镜像仓库,首先要登录到镜像仓库,还要登录到Docker Hub创建对应名称的仓库,然后用tag命令给镜像打标签,只有打上标签才可以上传成功。(详细介绍)
1 | docker push [OPTIONS] NAME[:TAG] |
6.docker tag
标记本地镜像,将其归入某一仓库
1 | docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] |
一个完整的push示例:
1 | [root@localhost ~]# docker tag nginx:latest area39/nginx:v1 |
1.docker build
用于使用Dockerfile文件创建镜像,是一个比较常用和重要的命令,关于Dockerfile文件如何定制化,后续会写一篇文专门讲。
1 | docker build [OPTIONS] PATH | URL | - |
使用当前目录的Dockerfile创建镜像,标签为”ctf-sqli:1”,注意后面的”.”千万不能丢。
1 | [root@localhost docker-for-web]# docker build -t ctf-sqli:1 . |
2.docker images
通过docker images命令可以列出主机上的镜像,默认只列出最顶层的镜像,可以使用-a选项显示出所有镜像
1 | docker images [OPTIONS] [REPOSITORY[:TAG]] |
示例:
1 | [root@localhost ~]# docker images -a |
images
3.docker rmi
docker rmi命令用于删除镜像,删除镜像时,如果已有基于该镜像启动的容器存在,则无法直接删除,需要先用rm命令删除容器。这两个子命令都提供 -f 选项,可强制删除存在容器的镜像或启动中的容器。
1 | docker rmi [OPTIONS] IMAGE [IMAGE...] |
示例 删除ubuntu:16.04镜像:
1 | [root@localhost ~]# docker rmi ubuntu:16.04 |
rmi
4.docker save
将指定镜像保存成tar归档文件
1 | docker save [OPTIONS] IMAGE [IMAGE...] |
示例 将nginx:latest镜像归档为tar文件:
1 | [root@localhost ~]# docker save -o nginx.tar nginx:latest |
save
5.docker load
导入使用docker save命令导出的镜像
1 | docker load [OPTIONS] |
示例 导入nginx:latest镜像:
1 | [root@localhost ~]# docker load -i nginx.tar |
load
6.docker commit
docker commit命令可以将一个容器固化为一个新的镜像。当需要制定特定的镜像时,会进行修改容器的配置,比如在容器中安装一些特定的工具等,通过commit命令可以将这些修改保存起来,使其不会因为容器的停止而丢失
1 | docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] |
示例:
1 | [root@localhost ~]# docker commit -a "Linuz" 66d682605023 ubuntu:linuz |