Docker的核心技术在于容器(container)的应用,之所以作为轻量级的虚拟应用,在于其所有的程序运行均承载在宿主机的硬件环境之上,区别于传统的虚拟机技术。
一、容器的创建
- docker create:创建容器,停止态。
默认从本地检查,未发现则下载
- docker images:查看镜像
列出本机上有的存有的镜像
- docker run:创建并启动特定镜像的容器
docker run centos ps -ef #直接返回运行结果
- 可具体分为"交互式容器"和"后台式容器"
- 交互式容器,可在容器内进行交互式操作,用exit或者在外部使用docker stop/kill 进行关闭
- docker run -it --name=test_centos centos /bin/bash
i:打开容器的标准输入。
t:告诉docker为容器建立一个命令行终端
name:指定容器名称,可以不填,利用 docker ps -a 可以查看
centos:告诉我们使用什么镜像来启动容器
/bin/bash:告诉docker要在容器里面执行此命令
- 后台式容器,可在后台运行容器,使用docker stop/kill 进行关闭
docker run -d --name=test_centos centos ps -ef
d:指定后台运行
二、容器查看
docker ps 罗列出目前已经创建未删除的容器。
Usage: docker ps [OPTIONS]
List containers
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display numeric IDs
-s, --size Display total file sizes
三、容器的启停
docker start [name/container id]:启动指定 容器名称 或者 容器id 的容器
docker stop/kill [name/container id]:停止指定 容器名称 或者 容器id 的容器
四、容器的删除
容器的删除操作,需要在容器处于停止状态时才可进行。
- docker rm [name/container id]:删除指定容器;
- docker rm `docker ps -a -q`: 删除全部停止的容器。
五、容器的修改保存
当我们在一个容器内进行内容修改后,想将这个容器保存下来,以作未来发布。利用命令
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
首先使用docker ps -l命令获得需要保存的容器的id。然后把这个镜像保存为 XXX。
1. 运行docker commit,可以查看该命令的参数列表。
2. 你需要指定要提交保存容器的ID。
3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。