当前位置:首页 > 操作系统 > Windows

docker in windows 从入门到放弃(2)——image与container

image镜像

Definition of: image

Docker images are the basis of containers. An Image is an ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime. An image typically contains a union of layered filesystems stacked on top of each other. An image does not have state and it never changes

引用docker官网的定义,大意是:

docker images是container的基础。镜像定义了容器运行所需要的文件和参数。镜像没有状态也不会改变。

下载镜像

        <code><!--tag表示版本-->
docker pull 镜像名:tag</code>
    

查看镜像

        <code>docker iamges</code>
    

删除镜像

        <code><!-- -f强制删除-->
docker image rm -f 镜像id或者镜像名:tag</code>
    

container容器

Definition of: container

A container is a runtime instance of a docker image.

A Docker container consists of

  • A Docker image
  • An execution environment
  • A standard set of instructions

The concept is borrowed from Shipping Containers, which define a standard to ship goods globally. Docker defines a standard to ship software.

引用docker官网的定义,大意是:

容器是镜像的一个运行实例。由镜像、运行环境、指令集组成。

ps:镜像和容器的关系,就像类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。一个镜像可以启动多个容器,启动一次镜像就是创建一个容器,每个容器都是一个隔离环境,不会相互影响。

基于镜像新建一个容器并启动

        <code>docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像id或镜像名:TAG

# --name 指定容器名,可自定义,不指定自动命名
# -i 以交互模式运行容器
# -t 分配一个伪终端,即命令行,通常与-i组合来使用
# -p 指定映射端口,将主机端口映射到容器内的端口
# -d 后台运行容器
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读</code>
    

查看容器

        <code>docker ps -a -q
docker container ls -a -q

# -a 查看所有容器,包含运行中、未运行的
# -q 只查看容器id</code>
    

启动、停止、重启、删除

        <code># 启动
docker start 容器id
# 停止
docker stop 容器id
# 重启
dockers start 容器id
# 删除 -f 强制删除
docker rm -f 容器id</code>
    

查看日志

        <code>docker logs -f 容器id --tail 100

# -f 保持输出
# --tail 输出尾部多少行,默认所有</code>
    

进入正在运行的容器

        <code># 将后台运行的容器展示到前台,不能执行其他命令
docker attach 容器id

# 可以执行指定的cmd命令,如bash、curl等
docker exec -i -t 容器id cmd</code>
    

拷贝文件

        <code># 主机中文件拷贝到容器中
docker cp 主机文件路径 容器ID或容器名:容器路径 

# 容器中文件拷贝到主机中
docker cp 容器ID或容器名:容器路径 主机文件路径 </code>
    

Docker registry

Docker registry是一个集中存储、管理镜像的远程服务,类似与maven的远程仓库。最常用的Docker registry就是官方的Docker Hub。

镜像名:Tag指定哪个版本的镜像,来从Docker registry拉取指定镜像。如果不指定Tag,将以lastest作为默认标签。

例如我们拉取java 8的镜像,使用docker pull java:8

总结

技术分享图片

参考资料

纯洁的微笑:Docker(一):Docker入门教程

docker docs

Docker —— 从入门到实践

原文:https://www.cnblogs.com/wuweishuo/p/11153129.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐