小白学docker

79 阅读3分钟

小白学docker

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

要学习Docker,你需要掌握Docker的基本概念,例如镜像、容器、仓库等等。此外,你还需要了解如何使用Dockerfile来创建自定义镜像,以及如何使用Docker Compose来编排多个容器。

学习Docker可以帮助你更好地管理你的应用程序,提高开发效率,并且可以让你轻松地在多个环境中移植你的应用程序。

安装Docker

  1. 前往Docker官网下载Docker Desktop适用于你的操作系统的版本。
  2. 安装Docker Desktop。
  3. 启动Docker Desktop,并等待Docker服务启动完成。

安装完成后,你就可以开始使用Docker了!

以下是一些基本的Docker命令:

  • docker run: 运行一个容器
  • docker build: 构建一个镜像
  • docker pull: 拉取一个镜像
  • docker push: 推送一个镜像
  • docker images: 显示所有本地镜像
  • docker ps: 显示正在运行的所有容器
  • docker stop: 停止一个正在运行的容器
  • docker rm: 删除一个容器
  • docker rmi: 删除一个镜像

使用 Docker 与 Jenkins 实现自动化构建和发布流程

  1. 安装 Docker 和 Jenkins

    首先,我们需要在本地机器和远程服务器上安装 Docker 和 Jenkins。你可以前往Docker官网下载Docker Desktop适用于你的操作系统的版本,并按照安装向导进行操作;你也可以前往Jenkins官网下载适用于你的操作系统的 Jenkins 安装包,并按照安装向导进行操作。

  2. 创建 Dockerfile 文件

    接下来,我们需要在项目的根目录中创建一个 Dockerfile 文件。在该文件中,你需要指定你所需的基础镜像,以及安装和配置你的应用程序所需的软件和工具。例如,以下是一个简单的 Dockerfile 文件示例:

    FROM node:10-alpine
    
    WORKDIR /app
    
    COPY package*.json ./
    
    RUN npm install
    
    COPY . .
    
    EXPOSE 3000
    
    CMD [ "npm", "start" ]
    
  3. 在 Jenkins 中创建一个新的任务

    在 Jenkins 中,我们需要创建一个新的任务。在任务中,你需要配置源代码管理、构建步骤、构建后步骤等信息。具体来说,你需要:

    • 配置源代码管理:选择用于存储源代码的 Git 仓库,并指定分支名称等信息。

    • 配置构建步骤:我们可以使用 Jenkins 提供的 Pipeline 脚本语法来定义构建步骤。例如,以下是一个简单的 Pipeline 脚本示例:

      pipeline {
        agent any
      
        stages {
          stage('Build') {
            steps {
              sh 'docker build -t my-app .'
            }
          }
        }
      }
      

      在该 Pipeline 中,我们定义了一个名为 Build 的阶段,在该阶段中,我们使用 docker build 命令构建一个名为 my-app 的 Docker 镜像。

    • 配置构建后步骤:在构建后步骤中,我们可以使用以下命令将 Docker 镜像推送到远程仓库中:

      docker tag my-app <registry>/<namespace>/<image-name>:<tag>
      docker push <registry>/<namespace>/<image-name>:<tag>
      

      其中,<registry> 表示远程仓库地址,<namespace> 表示命名空间,<image-name> 表示镜像名称,<tag> 表示标签名称。

  4. 在远程服务器上拉取 Docker 镜像并运行容器

    最后,我们需要在远程服务器上拉取 Docker 镜像并运行容器。具体来说,你需要:

    • 拉取 Docker 镜像:使用以下命令拉取 Docker 镜像:

      docker pull <registry>/<namespace>/<image-name>:<tag>
      

      其中,<registry> 表示远程仓库地址,<namespace> 表示命名空间,<image-name> 表示镜像名称,<tag> 表示标签名称。

    • 运行容器:使用以下命令运行容器:

      docker run -d -p <host-port>:<container-port> <registry>/<namespace>/<image-name>:<tag>
      

      其中,<host-port> 表示主机端口,<container-port> 表示容器端口。