乐趣区

关于docker:Docker容器应用场景分析

Docker 容器是一个开源的利用容器引擎,它可能主动执行重复性工作,例如搭建和配置开发环境,用户能够不便地创立和应用容器,还能够进行版本治理、复制、分享、批改。有很多初学云计算的同学不分明 Docker 容器的应用办法以及利用场景,接下来就给大家简略分享一下云计算学习路线图素材课件:Docker 容器利用场景剖析。
Docker 是一个应用 Go 语言开发的, 并且开源的利用容器引擎, 基于 LXC(Linux Container)内核虚拟化技术实现, 提供一系列更强的性能,比方镜像、Dockerfile 等;
Docker 理念是将利用及依赖包打包到一个可移植的容器中, 可公布到任意 Linux 发行版的 Docker 引擎上, 应用沙箱机制运行程序,程序之间互相隔离;
Docker 采纳 C / S 架构,Dcoker daemon 作为服务端承受来自客户端申请, 并解决这些申请, 比方创立、运行容器等; 客户端为用户提供一系列指令与 Docker Daemon 交互;
Docker 应用 Google 公司推出的 Go 语言进行开发实现,基于 Linux 内核的 cgroup、namespace 以及 AUFS 类的 UnionFS 等技术,对过程进行封装隔离,属于操作系统层面的虚拟化技术。目前 Docker 容器的利用场景包含以下几种:
Docker 部署 Mongodb 环境
1、近程获取 Mongodb 镜像
docker pull mongo
2、创立一个 docker 容器
docker run -p 27017:27017 -v /data/db –name docker_mongodb -d mongo
在下面的命令中,几个命令参数的具体解释如下:
-p 指定容器的端口映射 (非凡阐明:后面的是本机端口,前面的是容器的端口,增加 - p 参数被动将容器外部端口给暴漏出来,将服务器的 27017 端口映射到容器的 27017 端口,这样在外网就可通过 服务器的 27017 端口拜访到咱们的服务,Mongodb 默认端口为 27017。
-v 为设置容器的挂载目录,这里是将即本机中的目录挂载到容器中的 /data/db 中,作为 Mongodb 的存储目录
–name 为设置该容器的名称
-d 设置容器以守护过程形式运行
3、测试连贯容器中的 Mongodb
Docker 部署 Node 我的项目残缺流程(DockerFile 实际)
1、应用 Koa2 初始化一个 Node 我的项目,通过 Mongose 中间件连贯 Mogodb 数据库,实现一个根底接口 Mogodb 插入数据。
2、在我的项目根目录下创立.dockerignore 文件,把不须要打包进 Docker Image 里的文件进行过滤:
/usr/src/nodejs/dockerstudy/.dockerignore
.git
node_modules
3、在我的项目的根目录中创立 Dockerfile 文件,部署 Node 我的项目的时候,会有一个 Dockerfile 文件配置。
/usr/src/nodejs/hello-docker/Dockerfile
FROM node:10.0
在容器中创立一个目录
RUN mkdir -p /usr/src/nodejs/
定位到容器的工作目录
WORKDIR /usr/src/nodejs/
RUN/COPY 是分层的,package.json 提前,只有没批改,就不会从新安装包
COPY package.json /usr/src/app/package.json
RUN cd /usr/src/app/
RUN npm i
把当前目录下的所有文件拷贝到 Image 的 /usr/src/nodejs/ 目录下
COPY . /usr/src/nodejs/
EXPOSE 3000
CMD npm start
4、代码环节暂且告一段落,将带有 Dockerfile 提交到 github 或 gitlab 等。
5、首先检出代码,把我的项目克隆到指定目录。
6、进入目录构建。
7、通过镜像 dockerstudy 创立一个容器并运行。
8、进入容器。
9、日志查看查看运行日志。
优雅部署形式 DockerCompose
Compose 是 Docker 官网开源的一个我的项目,能够治理多个 Docker 容器组成一个利用,例如 Web 服务,除了服务自身还有数据库、Redis、Nginx 等一系列相关联服务须要装置。有个 Compose 的反对,咱们只须要定义一个 YAML 格局的配置文件(docker-compose.yml),来编写一个我的项目所须要的多个容器配置及调用关系,通过简略的命令即可同时开始或者敞开这些容器。Compose 定位是定义和运行多个 Docker 容器的利用。

退出移动版