Docker初体验
1.1镜像
1.1.1查看镜像列表
docker images
各个选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。所以,我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:
docker run -t -i ubuntu:15.10
1.1.2获取一个镜像
docker pull ubuntu:18.04
具体操作可参考上一章docker基础镜像下载内容。
1.1.3删除镜像
正确的做法是停止容器,删除容器,删除镜像,尽量不使用-f选项
docker rmi [-f] [IMAGE ID | REPOSITORY:TAG]
1.1.4创建镜像
方法一:从已经创建的容器中更新镜像,并且提交这个镜像
1)启动已有的容器,并进入容器
2)更新镜像源
apt-get update
3)提交容器副本
docker commit -m="has update ping" -a="sunpf" 1d260f7d0115 ubuntu:18.04_ping
参数说明:
-m: 提交的描述信息
-a: 指定镜像作者
1d260f7d0115:容器 ID
ubuntu:18.04_ping: 指定要创建的目标镜像名
4)查看当前环境镜像
docker images
5)使用新镜像来启动一个容器
docker run -t -i ubuntu:18.04_ping /bin/bash
成功启动,并能够使用ping命令
方法二:使用 Dockerfile 指令来创建一个新的镜像
- 创建并编辑Dockerfile文件
- 构建镜像
docker build -t spftest .
参数说明:
-t
.
- 参考制作的镜像
docker imag
- 使用新的镜像来创建容器
1.2容器
1.2.1运行容器
docker容器以交互式运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 启动容器后,为容器分配一个命令行,通常与 -i 同时使用 |
--name="nginx-lb" | 为容器指定一个名称 |
执行命令:
docker run -it ubuntu:18.04 /bin/bash
参数说明:
-i: 交互式操作
-t: 终端
ubuntu:18.04: 这是指用 ubuntu 18.04 版本镜像为基础来启动容器
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
其他参数说明:
--name
-v
--rm
-w
1.2.2退出容器
执行命令:
exit
1.2.3容器操作
显示所有运行中的容器
docker ps
显示所有运行中的容器,包括未运行的容器
docker ps -a
删除容器
正确的做法是停止容器,删除容器,尽量不使用-f选项
docker rm [-f] [CONTAINER ID | NAMES ]
1.2.4容器工具安装
通过docker pull 获取的Ubuntu镜像文件,为最原始的镜像,在镜像内部没有工具,需要我们自己去安装获取,如下通过apt-get来安装ping命令
更新数据源列表
apt-get update
安装ping命令