本文讲述Docker在CentOS系统上的部署过程。Ubuntu系统下安装docker,您可以点击此处查看。更多详细的实践您可以参考docker实践文档

适用对象

适用于熟悉Linux操作系统,刚开始使用阿里云ECS的开发者。

主要内容

  • 部署docker
  • docker基本用法
  • 镜像制作

部署docker

本文主要说明手动安装docker的操作步骤,您也可以选择在云市场购买相应镜像,一键部署云服务器。

本文实践操作系统版本为CentOS 7.2 64 3.10.0-514.6.2.el7.x86_64

Docker要求64位的系统且内核版本至少为3.10

1、添加yum源。

  1. # yum install epel-release –y
  2. # yum clean all
  3. # yum list

2、安装并运行Docker。

  1. # yum install docker-io –y
  2. # systemctl start docker

3、检查安装结果。

  1. # docker info

出现以下xin说明信息则表明安装成功。

docker基本用法

1、Docker守护进程管理。

  1. # systemctl start docker #运行Docker守护进程
  2. # systemctl stop docker #停止Docker守护进程
  3. # systemctl restart docker #重启Docker守护进程

2、镜像管理。

下载基础镜像,具体操作可参考如何下载docker镜像,本文使用的是来自阿里云仓库的Apache镜像。您可在阿里云docker市场搜索更多镜像

  1. # docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

修改标签,由于阿里云仓库镜像的镜像名称很长,可以修改镜像标签以便记忆区分。

  1. # docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1

查看已有镜像。

  1. # docker images

强制删除镜像。

  1. # docker rmi –f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

3、容器管理。e121d5f99e1e是执行docker images命令查询到的IMAGE ID,使用docker run命令进入容器。

  1. # docker run –ti e121d5f99e1e /bin/bash

使用exit可以退出当前容器。run命令加上–d参数可以在后台运行容器,—name指定容器命名为apache。

  1. # docker run -d --name apache e121d5f99e1e

进入后台运行的容器。

  1. # docker exec -ti apache /bin/bash

将容器做成镜像。

  1. # docker commit containerID/containerName newImageName:tag

为了方便测试和恢复,先将源镜像运行起来后再做一个命名简单的镜像做测试。

  1. # docker commit 4c8066cd8c01 apachephp:v1

运行容器并将宿主机的8080端口映射到容器里去。

  1. # docker run -d -p 8080:80 apachephp:v1

在浏览器输入宿主机ip加8080端口访问测试,出现以下内容则说明运行成功。

镜像制作

1、准备dockerfile内容。

  1. # vim Dockerfile
  2. FROM apachephp:v1 #声明基础镜像来源
  3. MAINTAINER DTSTACK #声明镜像拥有者
  4. RUN mkdir /dtstact #RUN后面接容器运行前需要执行的命令,由于Dockerfile文件不能超过127行,因此当命令较多时建议写到脚本中执行
  5. ENTRYPOINT ping www.aliyun.com #开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。

2、构建镜像。

  1. docker build -t webcentos:v1 . # . 是Dockerfile文件的路径,不能忽略
  2. docker images #查看是否创建成功
  3. docker run –d webcentos:v1 #后台运行容器
  4. docker ps #查看当前运行中的容器
  5. docker ps –a #查看所有容器,包括未运行中的
  6. docker logs CONTAINER ID/IMAGE #如未查看到刚才运行的容器,则用容器id或者名字查看启动日志排错
  7. docker commit fb2844b6c070 dtstackweb:v1 #commit 后接容器id 和构建新镜像的名称和版本号。
  8. docker images #列出本地(已下载的和本地创建的)镜像
  9. docker push #将镜像推送至远程仓库,默认为 Docker Hub

3、将镜像推送到registry。

  1. docker login --username=dtstack_plus registry.cn-shanghai.aliyuncs.com #执行后输入镜像仓库密码
  2. docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/dtstack123/test:[镜像版本号]
  3. docker push registry.cn-shanghai.aliyuncs.com/dtstack123/test:[镜像版本号]

在镜像仓库能查看到镜像版本信息则说明push成功

其中[ImageId],[镜像版本号]请您根据自己的镜像信息进行填写

https://help.aliyun.com/document_detail/51853.html

https://yq.aliyun.com/articles/60601?spm=5176.100239.blogcont68337.17.O9fc0l

镜像加速器
Docker Hub 在国外,有时候拉取 Image 极其缓慢,可以使用国内的镜像来实现加速

阿里云
echo "DOCKER_OPTS=\"--registry-mirror=https://yourlocation.mirror.aliyuncs.com\"" | sudo tee -a /etc/default/docker
sudo service docker restart
其中 https://yourlocation.mirror.aliyuncs.com 是您在阿里云注册后的专属加速器地址:

DaoCloud
sudo echo “DOCKER_OPTS=\”\$DOCKER_OPTS –registry-mirror=http://your-id.m.daocloud.io -d\”” >> /etc/default/docker
sudo service docker restart
其中 http://your-id.m.daocloud.io 是您在 DaoCloud 注册后的专属加速器地址:

源码
获取项目源码, https://github.com/waylau/docker-demos 中的 samples/spring-boot

获取项目镜像, 执行

docker pull waylau/docker-spring-boot

https://yq.aliyun.com/articles/47344

ECS上搭建Docker(CentOS7)的更多相关文章

  1. ECS上搭建Docker(CentOS7)

    ECS上搭建Docker(CentOS7) centos下 yum快速安装maven ## 安装jdk8 yum install -y java-1.8.0-openjdk* ## 安装maven w ...

  2. 在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务

    本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等.希望能够对在非X86服务器上搭建Docker仓库的同学提供参考. ...

  3. Oracle_lhr_CentOS 7.3 ECS上搭建RAC 18c+单实例DG+EMCC+DG的FSFO快速故障转移配置

    Oracle_lhr_CentOS 7.3  ECS上搭建RAC 18c+单实例DG+EMCC+DG的FSFO快速故障转移配置 [大型连续免费公开课]Oracle 18c rac+dg+13.3的em ...

  4. 如何在windows10家庭版上搭建docker

    如何在windows10家庭版上搭建docker 建议先跳到最后一条,看完之后再决定是否安装. 0X00搭建原因 首先搭docker的想法是我在复现漏洞时候,发现大佬们的复现环境都是基于docker的 ...

  5. 在CentOS 7上搭建Docker环境

      Preface       We commonly use VMware or VirtualBox to install our Virtual Machines before.For the ...

  6. CentOS 7上搭建Docker环境

    一.Docker介绍和安装 http://linux.cn/article-4340-1.html Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机 ...

  7. 在阿里云ECS上搭建LEMP环境

    在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...

  8. mac上搭建docker镜像私服

    1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...

  9. 搭建docker私有仓库

    保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...

随机推荐

  1. 从硬件竞争到软实力PK——电视媒体竞争观察

    本文观点及数据摘自中广研究<三网融合月度精粹>第26期(2013年2月版),详细参考对应在线简版(http://doc.sarft.net/index.php?f=2013/02/2013 ...

  2. 网站开发进阶(四)Tomcat Server处理一个http请求的过程

    Tomcat Server处理一个http请求的过程 假设来自客户的请求为: http://localhost:8080/wsota/wsota_index.jsp 1) 请求被发送到本机端口8080 ...

  3. JAVA中重写equals()方法的同时要重写hashcode()方法

    object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...

  4. 面试之路(8)-BAT面试题之数组和链表的区别

    两种数据结构都是线性表,在排序和查找等算法中都有广泛的应用 各自的特点: 数组: 数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素.但是如果要在数组中增加一个 ...

  5. MASM中3中文本宏的使用与区别

    = 宏 格式 : name = exp 其中,exp只能为32位整数值,且用=宏定义的符号名称可以重定义: EQU 宏 格式1:name EQU exp exp为有效整数值,可以重定义: 格式2:na ...

  6. svn 不能添加.a文件

    1.打开终端输入    open ~/.subversion/ 2.双击打开config文件 3.修改如下两行 # global-ignores = *.o *.lo *.la *.al .libs ...

  7. 在线学习Java免费资源推荐

    你想学习Java吗?来对地方了!这篇文章将会介绍很多高质量的免费资源,包括网页.论坛.电子书和速查表. Java是一种面向对象的编程语言,拥有独立.多线程.安全.动态和健壮的特点.归功于其多功能的特点 ...

  8. complex figure

    1/z   ----direct by MATLAB exp(z)    by QT logZ       by  QT 1/z      用QT画的 -----2018-03-17--------- ...

  9. 苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单

    源代码兼容性是 Swift 未来的目标.为了实现这一目标,(苹果公司的 swift 编译器团队)建立了一个源兼容性测试套件,用于根据 Swift 源代码(逐渐增加)语料库对编译器进行回归测试更改. 添 ...

  10. Django和Angular.js模板标签冲突的解决方式

    参考文章:http://yanhua365.lofter.com/post/b417f_1f0361 http://stackoverflow.com/questions/8302928/angula ...