zoukankan      html  css  js  c++  java
  • centos docker安装和使用

    系统要求: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

  • 相关阅读:
    mysql配置完半同步复制之后报错[ERROR] The server quit without updating PID file
    mysql配置为半同步复制
    mysql主从复制(半同步方式)
    ssh连接时提示THE AUTHENTICITY OF HOST XX CAN’T BE ESTABLISHED
    Linux 记录所有用户登录和操作的详细日志
    如何禁止某个linux用户访问某些文件夹及执行某些命令
    怎样把linux客户端用户禁止用 su命令来切换用户
    Django---进阶10
    Django---入门
    Django---进阶1
  • 原文地址:https://www.cnblogs.com/luobiao320/p/8576462.html
Copyright © 2011-2022 走看看