Docker 入门教程(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的基础。镜像定义了容器运行所需要的文件和参数。镜像没有状态也不会改变。

下载镜像

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

查看镜像

docker iamges

删除镜像

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

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

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

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

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

查看容器

docker ps -a -q
docker container ls -a -q

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

启动、停止、重启、删除

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

查看日志

docker logs -f 容器id --tail 100

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

进入正在运行的容器

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

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

拷贝文件

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

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

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 —— 从入门到实践

posted @ 2019-07-09 11:49  wuweishuo  阅读(2319)  评论(0编辑  收藏  举报