系统要求:centos7,内核3.10或更高
一、配置yum源并安装
  vim /etc/yum.repos.d/docker.repos

[dockerrepo]
name=Docker Respository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

  yum install docker-engine(安装如果出现证书过去主要留意下系统时间是否正确)

二、启动docker
  service docker start
  启动后执行
  docker -v    //查看是否有输出版本信息

三、从远程仓库拉取centos,在通过Dockerfile构建本地镜像myjava
  docker images   //先查看本地已经存在的镜像,应该是空的
  docker pull centos    //从远程仓库拉取并构建centos镜像
  将jdk拷贝到当前目录,然后创建Dockerfile文件,内容如下,

FROM centos:latest
MAINTAINER "luo biao"<luo.biao@xxx.com>
ADD jdk-7u80-linux-x64.tar.gz /opt
RUN ln -s /opt/jdk1.7.0_80 /opt/jdk
ENV JAVA_HOME /opt/jdk
ENV PATH $JAVA_HOME/bin:$PATH
CMD /opt/jdk/bin/java -version

  docker build -t myjava ./    //通过当前目录(./)Dockerfile构建镜像myjava
    常用镜像操作命令
      docker rmi xxx //删除xxx容器,xxx可以是id或是name
      docker save xxx > xxx.tar //将xxx镜像导出成xxx.tar文件
      docker load < xxx.tar //将xxx.tar文件还原成xxx镜像

四、通过myjava镜像启动容器
  docker run -it --name="my_java"  myjava /bin/bash   //以前台模式启动容器xxx,容器名称命名为my_java
    常用容器操作命令

      (注意后台模式如果容器中前台没有运行的应用,则启动后会自动停止容器,可在容器启动后执行前台输出命令,如tail一个文件)

      docker run  -d -p 8080:8080 myjava   //以后台模式启动容器myjava,并将容器的8080端口映射到主机的8080端口 

      docker exec -it xxx /bin/bash   //打开一个shell进入到容器中,通过ctrl+d或exit命令可以退出shell,退出不会停止容器

      docker logs xxx   //查看xxx容器的日志
      docker ps -a    //查看所有容器
      docker  attach xxx    //进入xxx容器,如果其中一个终端退出则所有终端将全部退出
      docker exec -i -t xxx ls -l    //向某xxx容器中执行某个命令
      docker stop xxx    //停止xxx容器
      docker start xxx   //启动xxx容器
      docker rm -f xxx   //删除xxx容器
      docker tag xxx ooo   //重命名xxx容器为ooo

五、建立私有的registry

  1.拉取远程registry镜像
    docker pull registry

  2.配置daemon.json
    vim /etc/docker/daemon.json

{
"insecure-registries":["192.168.3.20:5000"]
}

    配置中的“192.168.3.20”为私有仓库的ip地址及端口
    配置完成后重启docker
      service docker restart
  3.启动registry容器
    docker run -d --name registry -p 5000:5000 --restart=always -v /opt/registry/:/var/lib/registry/ registry:latest
  4.测试是否启动容器
    curl http://192.168.3.20:5000/v2/_catalog
    返回{"repositories":[]}表示启动成功
  5.测试上传私有registry
    先对要上传的镜像进行重命名,容器前缀需与私有registry地址对应
      docker tag myjava 192.168.3.20:5000/myjava
    然后执行上传
      docker push 192.168.3.20:5000/myjava
    查看是否上传成功

      curl http://192.168.3.20:5000/v2/_catalog
    返回{"repositories":["myjava"]},说明已经push到了自己的registry
  6.测试远程拉取

    首先在要测试的物理机上执行2.配置daemon.json,然后重启docker
    重启完后执行拉取
      docker pull 192.168.3.20:5000/myjava
    通过查看是否拉取成功
      docker images

centos docker安装和使用的更多相关文章

  1. centos docker 安装

    centos docker 安装 参考网站 https://docs.docker.com/install/linux/docker-ce/centos/ 1.删除原有docker $ sudo yu ...

  2. Docker(三):Docker入门教程-CentOS Docker 安装

    CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发 ...

  3. [第三篇]——CentOS Docker 安装之Spring Cloud直播商城 b2b2c电子商务技术总结

    CentOS Docker 安装 Docker 支持以下的 64 位 CentOS 版本: CentOS 7 CentOS 8 更高版本... 使用官方安装脚本自动安装 安装命令如下: curl -f ...

  4. Docker入门 - 001 CentOS Docker 安装

    Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. ...

  5. Docker-教程(一)CentOS Docker 安装

    Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. ...

  6. 使用 Linux Centos Docker 安装 2Bizbix

    在 Docker 安装 2Bizbix 安装 Centos 7 安装 mysql5.5 镜像 映射好数据库的配置文件和数据库目录 在 Windows 安装 2Bizbox 安装 jboss/base- ...

  7. Centos +Docker 安装及仓库使用概述

    ​1. Linux 系统学习Docker安装篇 这里我使用的Centos系统 安装Docker yum命令说明 即Yellowdog Update Modifier,是一种基于rpm的包管理工具 yu ...

  8. centos Docker安装前升级内核3.10的方法

    首先我虚拟机系统都是Centos 6.5 .ESXI ,后安装devel .ESXI 后来 .ESXI 我所操作的都是虚拟机,但是在真实机上面如何我就不清楚了~~ 大家一定要记得安装步骤,,,不然就是 ...

  9. Centos Docker 安装 Apache Guacamole

    经常在ubuntu上折腾,偶尔在centos来也来玩一把吧 1.安装DOCKER cd /etc/yum.repos.d wget https://download.docker.com/linux/ ...

随机推荐

  1. JEECG 上传插件升级-Online

    前言: 现有的uploadify上传是基于swf的,随着H5的普及,flash即将退出历史舞台,JEECG本着与时俱进的原则,将全面升级JEECG系统中的上传功能,采用新式上传插件plupload,此 ...

  2. 图释SQL的Join

    对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...

  3. 尚硅谷springboot学习29-docker常用命令和操作

    前提是要安装docker,有关docker的安装请参考相关资料,下面来看一下常用的操作命令 1).镜像操作 操作 命令 说明 检索 docker search 关键字 eg:docker search ...

  4. MySQL 物理文件体系结构的简单整理说明

    本文出处:http://www.cnblogs.com/wy123/p/7102128.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  5. R语言-散点图进阶

    1.分组散点图 ①xyplot()函数 > library(lattice) > xyplot(mpg~disp, #定义Y~X轴 + data=mtcars, + groups=cyl, ...

  6. SpringBoot的spring-boot-starter有哪些(官方)

    看完这些,你就知道每个spring-boot-starter依赖些什么东西了. 地址:https://github.com/spring-projects/spring-boot/tree/v2.1. ...

  7. javaMail实现收发邮件(三)

    JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Mes ...

  8. c# NPOI 导出EXCEL (在下方显示图片)

    需要引入dll文件 也可以在NuGet里面管理(推荐) 比较方便 . using System; using System.Collections.Generic; using System.Linq ...

  9. python list中append()方法和extend()方法区别

    共同点 只能作用于list类型(不能作用于tuple等其他类型) 单参数限制(不支持多参数) 不同点 list.append(object) 向列表中添加一个对象object. 使用append的时候 ...

  10. Python的基本用法

    ---恢复内容开始--- 一.函数 1.1 默认参数 想要计算一个数x的n次方,可以定义如下的函数.但是有时候我们仅仅只需要计算x^2,所以只想使用一个参数即power(x),这时如果仍用如下代码会报 ...