Docker 之七实战 Dockerfile 的简单编写
实战内容介绍
实战编写 Dockerfile,指定终端登录后的默认路径,同时预安装 vim、ifconfig 工具,最后通过 Dockerfile 构建新的 Centos 镜像并运行起来。
编写 Dockerfile 文件
1 | FROM centos |
实战内容介绍
实战编写 Dockerfile,指定终端登录后的默认路径,同时预安装 vim、ifconfig 工具,最后通过 Dockerfile 构建新的 Centos 镜像并运行起来。
编写 Dockerfile 文件
1 | FROM centos |
Dockerfile 介绍
Dockerfile 是用来构建 Docker 镜像的文件,实质是一系列命令和参数构成的脚本文件。当 Dockerfile 文件编写完之后,可以通过 “docker build” 与”docker run” 命令构建并运行新的 Docker 镜像。其中 Dockerfile 定义了进程需要的一切东西,涉及的内容包括执行代码或者文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版本、服务进程和内核进程(当应用进程需要和系统服务、内核进程打交道的时候,需要考虑如何设计 namespace 的权限控制)等等。
Dockerfile、Docker 镜像、Docker 容器三者的关系
Dockerfile 面向开发,Docker 镜像是交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,其中 Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,Docker 容器则可以认为是软件的运行状态,示意图如下:
Gitlab 常规配置
1 | # 编辑Gitlab的配置文件 |
Gitlab 相关站点
Gitlab 介绍
GitLab 是基于 Ruby on Rails 的一个开源版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。GitLab 分为社区版(CE) 和企业版(EE)。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall) 进行交流。依赖组件:Ruby、Git、Nginx、Redis、Sidekiq、GitLab Runner、Unicorn Workers、PostgreSQL/MySQL/MariaDB 等,其中 MySQL/MariaDB 并不完全支持 Gitlab 的所有功能,官方强烈推荐安装 PostgreSQL。
安装环境说明
1 | $ uname -a |
Gitolite Github Repo
Gitolite 介绍
Gitolite 是一款 Perl 语言开发的 Git 服务管理工具,采用的是 SSH 协议并使用 SSH 公钥认证,能够通过配置文件对写操作进行基于分支和路径的精细授权。
安装环境说明
1 | $ uname -a |
系统环境
1 | CentOS Linux release 7.6.1810 (Core) |
临时更改最大打开文件描述符数
1 | # 查看限制 |
Git 常见的分支模型
前言
容器在运行期间产生的数据不会写在镜像里面,重新用此镜像创建并启动新的容器就会初始化镜像,加一个全新的容器可写层来保存数据。生产环境中使用 Docker 的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,Docker 提供数据卷和数据卷容器来解决;另外还可以通过 commit 提交一个新的镜像来保存产生的数据,也可以通过 “docker cp” 命令在宿主机与容器之间互相拷贝数据文件。
容器中管理数据主要的两种方式
数据卷(Data Volumes):容器内数据直接映射到本地主机环境。
数据卷容器(Data Volume Containers):使用特定容器维护数据卷。