1.docker镜像简介
docker 镜像是由文件系统叠加而成的
1).第一层:bootfs
引导文件系统,当容器启动之后,这个文件系统将会被卸载
2).第二层 :rootfs
可以是一种或多种操作系统
docker采用联合加载技术,将多个文件系统叠加在一起,最终的文件系统将包含所有底层的文件系统和目录
当从一个镜像启动容器是,docker会将该镜像的最顶层加载一个读写文件系统,
所有的操作都将在这一层进行,读写层中将会存在父镜像中的内容副本,读写只对该副本操作(copy on write)。
综上所述:
当创建一个新容器时,Docker会构建出一个镜像栈,并在栈顶添加一个读写层。这个读写层再加上其下面的镜像层以及一些配置数据,就构成了容器。
2.镜像操作命令
1).列出镜像
docker imags
2).拉取镜像
docker pull 镜像名称:版本
3).查找镜像
docker search 镜像名称
4).登录docker _hub
docker login
5) 创建一个定制容器
docker run -it ubuntu /bin/bash
6) 下载apache
apt-get -y install apache2
7) 提交镜像
docker commit -m="描述信息" --author="作者" id docker_hub名/镜像名:版本
8) 运行新创建的镜像
docker run -it docker_hub名/镜像名:版本 /bin/bash
9).基于dockerfile创建镜像
新建目录static_web
新建文件Dockerfile
# Version: 0.0.1
FROM ubuntu:latest
MAINTAINER aslannh "2464334025@qq.com"
ENV REFRESHED_AT 2020-07-01
RUN apt-get update
RUN apt-get install -y nginx
RUN echo 'Hi,I am in your container' \
>/usr/share/nginx/html/index.html
EXPOSE 80
进入static_web
docker build -t="仓库名称/镜像名称" .(注意最后的 . )
10)运行新建的容器
docker run -d -p 80 --name 目录(static_web) 镜像名称(nhh/nginx) 命令 nginx -g "daemon off;"
-d 后台运行容器
-p docker运行时公开那些网络端口给宿主机
nginx -g "daemon off:" 要在容器中运行的命令,以前台运行法师启动nginx。
查看docker与宿主机端口映射关系
docker port containerId 端口号
11)删除镜像
docker rmi imageId
12)运行本地Docker Registry
docker run -p 5000:5000 registry
网友评论