第二章 镜像

2020-06-09  本文已影响0人  山海树

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

上一篇下一篇

猜你喜欢

热点阅读