• 一、docker临时记录


    docker 临时记录(阿里云centos7.2.1511 )

    查看系统版本号

    适用于Redhat/CentOS:
    [root@iz2zecm4ndtkaue32tynx5z ~]# cat /etc/redhat-release
    CentOS Linux release 7.2.1511 (Core)
    或者
    [root@iz2zecm4ndtkaue32tynx5z ~]# rpm -q centos-release
    centos-release-7-2.1511.el7.centos.2.10.x86_64

    查看系统内核版本

    目前,CentOS 仅发行版本中的内核支持 Docker。

    Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

    Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

    uname -r
    或者
    uname -a

    一、通过yum命令在线下载并安装docker

    # 安装docker
    yum install docker-io # 加入开机启动 chkconfig docker on # 启动docker服务 service docker start

    二、docker安装Tomcat容器

    #查找服务器的tomcat信息
    docker search tomcat

    拉取镜像文件

    #拉取
    docker pull docker.io/tomcat
    #或者
    docker pull tomcat
    #或者拉取指定版本的tomcat
    docker pull tomcat:版本号

    去哪查看tomcat的tag版本呢?

    打开docker hub的官网,搜索tomcat

     下载tomcat的Tag Name 为8.0的版本

    docker pull tomcat:8.0

    1、批量停用容器、删除容器、删除镜像:

    停止所有的container,这样才能够删除其中的images:

    #批量停止container容器
    docker stop -f $(docker ps -aq) #或者
    docker stop $(docker ps -a -q) #或者 docker stop $(docker ps -aq)
    #批量删除container容器
    docker rm -f $(docker ps -aq)
    #批量删除images镜像
    docker rmi -f $(docker images -aq)

    想要删除untagged images,也就是那些id为<None>的image的话可以用

    docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

     

    后台运行容器时,进入到已经运行的容器里边

    
    
    #1、创建容器并在后台运行
    docker run <--name myubuntu> -dit <image id> /bin/bash
    #2、以exec方式进入容器(docker 1.3及上版本)
    docker exec -it <container id> /bin/bash

    提交镜像到docker hub上

    1、需要注册docker hub账号(略)

    2、创建仓库

    3、docker commit命令

    commit 主要用于通过差异性,创建一个新的image,当容器中的文件产生变化后,可以提交生成一个新的image,这可以让你debug出你所做的修改,导出发布到其他服务器,这似乎是一种比Dockerfile更好的管理方式。

    默认情况下,在提交时,容器的执行将被暂停,以保证数据的完整性,当然你可以指定选项 p ,来禁止。

    用法:docker commit 容器ID [dockerhub 的账号名称]/[仓库名称]:[tag版本号]

    参数1:已经启动的容器ID

    参数2:dockerhub 的账号名称

    参数3:仓库名称

    参数4:tag版本号

     

    $ docker ps
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
    c3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
    197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton
    
    $ docker commit c3f279d17e0a  svendowideit/testimage:version3
    
    f5283438590d
    
    $ docker images
    
    REPOSITORY                        TAG                 ID                  CREATED             SIZE
    svendowideit/testimage            version3            f5283438590d        16 seconds ago      335.7 MB

    使用新配置提交容器

    $ docker ps
    
    CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
    c3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
    197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton
    
    $ docker inspect -f "{{ .Config.Env }}" c3f279d17e0a
    
    [HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]
    
    $ docker commit --change "ENV DEBUG true" c3f279d17e0a  svendowideit/testimage:version3
    
    f5283438590d
    
    $ docker inspect -f "{{ .Config.Env }}" f5283438590d
    
    [HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEBUG=true]

    使用new CMD 和 EXPOSE 说明提交容器

    $ docker ps
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
    c3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
    197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton
    
    $ docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a  svendowideit/testimage:version4
    
    f5283438590d
    
    $ docker run -d svendowideit/testimage:version4
    
    89373736e2e7f00bc149bd783073ac43d0507da250e999f3f1036e0db60817c0
    
    $ docker ps
    
    CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              PORTS              NAMES
    89373736e2e7        testimage:version4  "apachectl -DFOREGROU"  3 seconds ago       Up 2 seconds        80/tcp             distracted_fermat
    c3f279d17e0a        ubuntu:12.04        /bin/bash               7 days ago          Up 25 hours                            desperate_dubinsky
    197387f1b436        ubuntu:12.04        /bin/bash               7 days ago          Up 25 hours                            focused_hamilton

    2、docker push命令

    语法:docker push [参数] 名称或者镜像ID[:标记版本号]

    查看容器ID(使用docker ps)然后将其提交为一个新的镜像名称来保存新镜像。

    $ docker commit c16378f943fe rhel-httpd

    使用新的镜像ID将镜像推送到docker hub仓库。

    在此示例中,注册表位于命名registry-host和侦听端口的主机上5000。为此,请使用主机名或IP地址以及注册表的端口标记映像:

    $ docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
    $ docker push registry-host:5000/myadmin/rhel-httpd

    上边是官方的示例:

    我这里用一个docker hub的官方的redis 生成一个新的redis镜像,push到自己的docker hub仓库。

    如图:

    去自己的docker hub 仓库查看:

    curl提示不支持https协议解决方法

    原因是因为在安装curl时使用默认安装,但是默认安装并不支持https协议。

    卸载重新安装curl,解压。

    在进行编译前,最好先将原curl去掉,应该可以直接yum remove curl卸载。

    但是不建议,因为怕影响到其它的程序,所以我的方法是which curl,然后把curl命令的路径名称改掉,例如加一个bak后缀,方便后面重新安装时失败,还可以回退到原来的curl

    1、下载curl的解压包

     https://curl.haxx.se/download/curl-7.61.0.tar.gz

     

     

    Docker编排工具Fig介绍                            

    Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司。Fig通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。Fig可以和Docker一起来构建基于Docker的复杂应用。

    安装Fig

    Fig是一个Python Package,你可以使用以下命令来安装:

    yum install fig -y

    pip install -U fig
    或者



    查看版本
    fig --version

     






  • 相关阅读:
    Maven--反应堆(Reactor)
    Maven--超级 POM
    Maven--插件管理
    解决非模态对话框第二次创建失败问题
    【转】VerQueryValue失败的解决办法
    【转】SYSTEM_HANDLE_INFORMATION
    安全版字符串操作函数
    int转string的3种方法
    PE格式详细讲解3
    PE格式详细讲解2
  • 原文地址:https://www.cnblogs.com/gaogaoyanjiu/p/9382158.html
Copyright © 2020-2023  润新知