移动开发工程师-DevOps与持续集成-Docker容器化技术_Docker在CI-CD中的应用.docx

移动开发工程师-DevOps与持续集成-Docker容器化技术_Docker在CI-CD中的应用.docx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

Docker容器化技术基础

1Docker简介与核心概念

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

1.1核心概念

镜像(Image):Docker镜像是创建容器的基础,类似于虚拟机的模板。它包含了运行容器所需的所有文件和依赖。

容器(Container):容器是镜像的运行实例,可以理解为一个轻量级的独立运行环境,其中包含了应用程序及其运行时的环境。

仓库(Registry):仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker提供了DockerHub的公共仓库供用户使用,当然用户也可以在本地网络中部署一个私有仓库。

2Docker安装与基本操作

2.1安装Docker

在Ubuntu上安装Docker,可以使用以下命令:

#更新apt包索引

sudoapt-getupdate

#安装一些让apt可以通过HTTPS使用仓库的软件包

sudoapt-getinstallapt-transport-httpsca-certificatescurlsoftware-properties-common

#添加Docker的官方GPG密钥

curl-fsSL/linux/ubuntu/gpg|sudoapt-keyadd-

#使用密钥添加Docker仓库

sudoadd-apt-repositorydeb[arch=amd64]/linux/ubuntu$(lsb_release-cs)stable

#更新apt包索引

sudoapt-getupdate

#安装Docker

sudoapt-getinstalldocker-ce

2.2基本操作

运行容器:dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]

列出容器:dockerps

停止容器:dockerstopCONTAINER

删除容器:dockerrmCONTAINER

3Docker镜像管理

3.1创建镜像

使用Dockerfile来创建镜像,Dockerfile是一个文本文件,其中包含了一系列的命令,用户可以调用dockerbuild命令来创建一个Docker镜像。

例如,创建一个基于Ubuntu的镜像,其中包含Python和一些常用的Python库:

#使用官方的Ubuntu镜像作为基础镜像

FROMubuntu:latest

#更新apt包索引并安装Python

RUNapt-getupdateapt-getinstall-ypython3python3-pip

#安装一些常用的Python库

RUNpip3installnumpypandasmatplotlib

#设置工作目录

WORKDIR/app

#将当前目录的内容复制到容器的/app目录下

COPY./app

#设置环境变量

ENVNAMEWorld

#在容器启动时运行pythonapp.py

CMD[python3,app.py]

然后,使用以下命令来构建镜像:

dockerbuild-tmy-ubuntu-image.

3.2镜像操作

列出镜像:dockerimages

删除镜像:dockerrmiIMAGE

推送镜像到DockerHub:dockerpushIMAGE

4Docker容器网络

Docker提供了四种网络模式:bridge、host、none和container。

bridge:这是Docker默认的网络模式,Docker会创建一个虚拟的Docker网桥,并将容器的网络接口连接到这个网桥上。

host:容器将不会获得一个独立的网络堆栈,而是直接使用宿主机的网络堆栈。

none:容器将不会被分配网络堆栈,相当于网络功能被禁用。

container:容器将复用另一个容器的网络堆栈。

例如,创建一个容器并使用bridge模式:

dockerrun-it--namemy_container--networkbridgeubuntu:latest/bin/bash

5Docker数据管理与持久化

Docker容器是无状态的,这意味着容器在停止和重新启动后,其内部的数据可能会丢失。为了持久化数据,Docker提供了两种方式:数据卷和数据卷容器。

数据卷:数据卷是一个可供一个或多个容器使用的特

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档