这篇文章主要介绍“Docker中image container基本操作有哪些”,在日常操作中,相信很多人在Docker中image container基本操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker中image container基本操作有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
container
容器。可以把每个 container 看做是一个独立的主机。 container 的创建通常有一个 image 作为其模板。类比成虚拟机的话可以理解为 image 就是虚拟机的镜像,而 container 就是一个个正在运行的虚拟机。一个虚拟机镜像可以创建出多个运行的虚拟主机且相互独立。 注意:container 一旦创建如果没有用 rm 命令移除,将会一直存在。所以用完后记得删除哦。
image
镜像。image 相当于 container 的模板,container 创建后里面有什么软件完全取决于它使用什么 image 。image 可以通过 container 创建(相当于把此时 container 的状态保存成快照),也可以通过 Dockerfile (一个文本文件,里面使用 docker 规定的一些写法)来创建。其中通过 Dockerfile 创建的方法能让环境配置和代码一起被版本库一起管理。
registry
存放镜像的仓库。只要能连接到 registry 每个人都可以很方便地通过 pull 命令从仓库中获取镜像。docker 默认使用的仓库是 docker hub,国内可以使用 DaoCloud 来建立 Mirror 连接到 docker hub,进而加快获取 image 的速度。
boot2docker
一个轻量级 linux 虚拟机,主要是为了让非 linux 系统也能用上 docker 。它实质上是一个 virtualbox 虚拟主机+一个能管理这个虚拟主机的命令行工具。由于这个虚拟主机的存在,在非 linux 系统上 container 需要获取一些物理系统资源(如 usb 设备)时不仅需要配置 docker 命令,还需要配置 boot2docker 这个虚拟主机的资源配置。
通用:
操作 | 命令 | 示例 |
---|---|---|
查看 docker 版本 | docker version | docker version |
查看 docker 信息 | docker info | docker info |
查看某命令 help 信息 | docker help [command] | docker help attach |
查看 docker help 信息 | docker --help | docker --help |
container 相关:
操作 | 命令 | 示例 |
---|---|---|
创建 container | docker create | docker create chenhengjie123/xwalkdriver |
创建并运行 container | docker run | docker run chenhengjie123/xwalkdriver /bin/bash |
创建并运行 container 后进入其 bash 控制台 | docker run -t -i image /bin/bash | docker run -t -i ubuntu /bin/bash |
创建并运行 container 并让其在后台运行,并端口映射 | docker run -p [port in container]:[port in physical system] -d [image] [command] | docker run -p 5000:5000 -d training/webapp python app.py |
查看正在运行的所有 container 信息 | docker ps | docker ps |
查看最后创建的 container | docker ps -l | docker ps -l |
查看所有 container ,包括正在运行和已经关闭的 | docker ps -a | docker ps -a |
输出指定 container 的 stdout 信息(用来看 log ,效果和 tail -f 类似,会实时输出。) | docker logs -f [container] | docker logs -f nostalgic_morse |
获取 container 指定端口映射关系 | docker port [container] [port] | docker port nostalgic_morse 5000 |
查看 container 进程列表 | docker top [container] | docker top nostalgic_morse |
查看 container 详细信息 | docker inspect [container] | docker inspect nostalgic_morse |
停止 continer | docker stop [container] | docker stop nostalgic_morse |
强制停止 container | docker kill [container] | docker kill nostalgic_morse |
启动一个已经停止的 container | docker start [container] | docker start nostalgic_morse |
重启 container (若 container 处于关闭状态,则直接启动) | docker restart [container] | docker restart nostalgic_morse |
删除 container | docker rm [container] | docker rm nostalgic_morse |
命令中需要指定 container 时,既可使用其名称,也可使用其 id 。
image 相关:
操作 | 命令 | 示例 |
---|---|---|
从 container 创建 image | docker commit [container] [imageName] | docker commit nostalgic_morse ouruser/sinatra:v2 |
从 Dockerfile 创建 image | docker build -t [imageName] [pathToFolder] | docker build ouruser/sinatra:v3 . |
查看本地所有 image | docker images | docker images |
在 registry 中搜索镜像 | docker search [query] | docker search ubuntu |
从 registry 中获取镜像 (若无指定 tag 名称,则默认使用 latest 这个 tag) | docker pull [imageName] | docker pull ubuntu:14.04 , docker pull training/webapp |
给 image 打 tag | docker tag [imageId] [imageName] | docker tag 5db5f8471261 ouruser/sinatra:devel |
把本地 image 上传到 registry 中 (此时会把所有 tag 都上传上去) | docker push [imageName] | docker push ouruser/sinatra |
删除本地 image | docker rmi [image] | docker rmi training/sinatra |
注意:image 中没有指定 tag 名称的话默认使用 latest 这个 tag 。然而 latest 的含义和 VCS 中的 head 不一样,不是代表最新一个镜像,仅仅是代表 tag 名称为 latest 的镜像。若不存在 tag 名称为 latest 的镜像则会报错。
到此,关于“Docker中image container基本操作有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。