镜像(Image)
1.列出镜像列表
2.查找镜像
1.如果需要某个镜像时,可以从 Docker Hub 网站搜索镜像。
2.使用 docker search 命令搜索镜像。比如需要一个 httpd 镜像来用于构建 web 服务。可通过 docker search 搜索 httpd ,从而找到适合的镜像。
3.各字段含义如下:
3.删除镜像
使用 ubuntu 16.04 创建一个新容器,在该容器内运行 gcc -v 可查看 gcc 是否安装,查看 gcc 的版本号。
docker commit :从容器创建一个新的镜像
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
(指定要创建的目标镜像名)
OPTIONS说明:
4.构建镜像
首先需要一个 Dockerfile 文件,其中包含一系列告诉 Docker 如何构建镜像的指令。
该Dockerfile文件位于 ~/course/docker/Dockerfile/ubuntu_gcc,使用命令 cd 切换到该目录, 通过命令 cat 查看 Dockerfile 内容。
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定使用哪个镜像源。
第二条MAINTAINER,说明当前镜像的维护人的信息。
RUN 指令用于说明在构建 docker 镜像时执行哪些命令,例如安装哪些软件。
EXPOSE 指令说明开放哪些端口。
[图片上传中...(-94439e-1638445720289-0)]
docker build
命令用于使用 Dockerfile 创建镜像。
语法
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
5.设置镜像标签
可以使用 docker tag 命令,为镜像添加一个新的标签。
docker tag 命令的语法为:
docker tag <镜像ID> 新镜像名:新tag。
以httpd为例
docker cp /宿主机目录 容器id:/容器文件目录 #将宿主机目录内容复制到容器内部目录
容器有一个比较麻烦的地方,就是每次重启之后会导致容器内的文件重置为初始化状态。所以我们还需要对容器内的文件进行持久化配置持久化配置有两种方法
方法一:直接复制。如docker cp 容器id:/etc/prometheus /zhao #将容器内部的文件复制到宿主机的/zhao文件夹下
方法二:docker run --name myprometheus -v /zhao/prometheus:/etc/prometheus -d 镜像id #其中-v是指映射逻辑卷的意思,将宿主机上的/zhao/prometheus里的文件和文件夹复制到容器的/etc/prometheus里。-d是指后台运行