docker学习(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JackRen_Developer/article/details/86514667

1.启动后进入容器的方法

自命名启动一个容器 --name

exec 进入容器方法(推荐使用)

2.删除所有容器

3.启动时进行端口映射

​-p参数端口映射

不同指定映射方法

随机映射

4.挂载时创建卷

挂载卷

容器内站点目录: /usr/share/nginx/html

在宿主机写入数据,查看

设置共享卷,使用同一个卷启动一个新的容器

查看卷列表

5.创建卷后挂载

创建一个卷

指定卷名

查看卷路径

使用卷创建

设置卷

查看使用的端口

6.手动将容器保存为镜像

启动一个centos6.8的镜像

启动完成后镜像ssh连接测试

将容器提交为镜像

使用新的镜像启动容器

在容器安装httpd服务

编写启动脚本脚本

再次提交为新的镜像

启动镜像,做好端口映射。并在浏览器中测试访问

7.Dockerfile指令集

dockerfile主要组成部分:

dockerfile常用指令:

dockerfile其他指令:

8.创建一个Dockerfile

创建第一个Dockerfile文件

构建docker镜像

使用自构建的镜像启动

8.使用Dcokerfile安装kodexplorer

Dockerfile文件内容

9.Docker 镜像为什么分层

镜像分层最大的一个好处就是共享资源。

比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。

如果多个容器共享一份基础镜像,当某个容器修改了基础镜像的内容,比如 /etc 下的文件,这时其他容器的 /etc 是不会被修改的,修改只会被限制在单个容器内。这就是容器 Copy-on-Write 特性。

10.可写的容器层

当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。

所有对容器的改动 - 无论添加、删除、还是修改文件都只会发生在容器层中。只有容器层是可写的,容器层下面的所有镜像层都是只读的

11.容器层的细节说明

镜像层数量可能会很多,所有镜像层会联合在一起组成一个统一的文件系统。如果不同层中有一个相同路径的文件,比如 /a,上层的 /a 会覆盖下层的 /a,也就是说用户只能访问到上层中的文件 /a。在容器层中,用户看到的是一个叠加之后的文件系统。

文件操作的

只有当需要修改时才复制一份数据,这种特性被称作 Copy-on-Write。可见,容器层保存的是镜像变化的部分,不会对镜像本身进行任何修改。

这样就解释了我们前面提出的问题:容器层记录对镜像的修改,所有镜像层都是只读的,不会被容器修改,所以镜像可以被多个容器共享。

关注公众号:

猜你喜欢

转载自blog.csdn.net/JackRen_Developer/article/details/86514667