前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Docker的持续集成方案(安装docker) - Part.2

基于Docker的持续集成方案(安装docker) - Part.2

作者头像
张子阳
发布2018-09-30 09:54:06
6100
发布2018-09-30 09:54:06
举报

基于Docker的持续集成方案(安装docker) - Part.2

2018-6-9 作者: 张子阳 分类: 分布式系统

Docker是近几年非常流行的一项技术,我也花了一点时间研究了一下。这篇文章简单地记录一下如何在Linux(CentOS 7)系统上安装Docker,并概述了最常用的几条命令。

对Docker的简单理解

传统的虚拟化是操作系统级的,因而比较重,占用资源也比较多,在一台物理机上,无法扩展太多台。而基于docker的“虚拟化”,是在操作系统层面之上,提供了一个沙盒化的环境,使得应用彼此隔离。可以运行成百上千的Docker容器。

使用Docker的好处,最重要的就是简化程序的安装和部署。以往我们经常会出现这样一种情况:在开发机器上测试运行没有问题,放到测试服务器上时就运行不起来,需要安装和配置各种运行环境、依赖的组件、以及环境变量等;测试服务器运行正常以后,上传到正式服务器,又出现类似的情况,又要再检查一遍。

有时候,对同一个运行环境,不同的程序依赖的是高低不同的两个版本,当这两个程序需要同时运行时,如果这个运行环境没有做好向下兼容,那么升级也不是(依赖低版本的程序出现问题),不升级也不是(依赖高版本的程序无法运行)。

简言之,docker将程序和其所有的外部依赖打包到了一个容器中,然后一起运行。使用Docker容器对不同的应用程序进行隔离,方便地解决了上面的问题。

Docker的安装步骤

Docker是使用Go语言基于Linux系统开发的,Windows只支持Windows 10和Windows server 2016以上版本。这里我的操作系统是Cent OS 7.2。

docker的安装可以通过先更新yum源,再通过yum install命令来安装;也可以下载rpm包,然后直接安装包。个人倾向于后一种。

选择rpm安装包

官方下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

从列表中复制最新的下载地址:

docker rpm包下载

在Cent OS上使用wget 命令进行下载

创建一个downloads文件夹,然后使用wget命令进行下载。

代码语言:txt
复制
[root@mylinux downloads]# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

使用yum install命令安装

代码语言:txt
复制
[root@mylinux downloads]# yum install docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

启动Docker进程

代码语言:txt
复制
systemctl start docker

验证安装

直接输入docker命令,会列出该命令的用法。

代码语言:txt
复制
docker

运行自己的第一个容器:

代码语言:txt
复制
docker run hello-world

此时docker会先检查本地是否有hello-world这个镜像(image),因为是第一次运行,自然没有,此时会从hub.docker.com上自动获取一个,然后再启动容器,运行这个镜像。

正常情况下,应该会产生类似下面的输出,说明安装成功:

代码语言:txt
复制
[root@mylinux ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

最常用的几条命令

使用docker images查看镜像

docker images是最常用的几个命令之一,它会列出本地获取到的镜像:

代码语言:txt
复制
[root@mylinux ~]# docker images
REPOSITORY           TAG           IMAGE ID            CREATED             SIZE
hello-world          latest        e38bc07ac18e        7 weeks ago         1.85kB

使用docker ps -a 查看容器

docker ps也是最常用的命令,它列出所有运行中的容器;如果要列出已经不再运行的容器,则加上-a标签。

代码语言:txt
复制
[root@mylinux ~]# docker ps -a
CONTAINER ID      IMAGE           COMMAND      CREATED             STATUS                      PORTS       NAMES
e5f77a147a4c      hello-world     "/hello"     6 minutes ago      Exited (0) 16 minutes ago                naughty_bardeen

使用docker logs查看容器控制台输出

很多时候,容器都是在后台运行的。此时,为了查看容器的输出,可以使用这个命令。

代码语言:txt
复制
docker logs [container]

使用docker pull下载镜像

上面执行的docker run hello-world命令中其实已经先执行了docker pull命令(检查本地没有hello-world镜像时,就会执行docker pull获取一遍)。这个命令用于从远程仓库上下载镜像。默认的镜像仓库是官方仓库:hub.docker.com。

代码语言:txt
复制
docker pull hello-world

国内访问hub.docker.com经常不稳定或者下载速度很慢,所以在获取镜像时,可以使用国内镜像站点:registry.docker-cn.com。例如要获取一个hello-world,原本的docker命令是:docker pull hello-world,改为:docker pull registry.docker-cn.com/library/hello-world

使用docker run运行容器

这个命令在前面已经演示过了,几乎是最复杂的一个命令了,也是最常用的命令。它整合了docker pull命令。如果镜像本地已经存在,执行docker run [image]时,则不会下载,直接基于此镜像去运行一个容器。

感谢阅读,希望这篇文章能给你带来帮助!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-6-9,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于Docker的持续集成方案(安装docker) - Part.2
    • 对Docker的简单理解
      • Docker的安装步骤
        • 选择rpm安装包
        • 在Cent OS上使用wget 命令进行下载
        • 使用yum install命令安装
        • 启动Docker进程
        • 验证安装
      • 最常用的几条命令
        • 使用docker images查看镜像
        • 使用docker ps -a 查看容器
        • 使用docker logs查看容器控制台输出
        • 使用docker pull下载镜像
        • 使用docker run运行容器
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档