• docker基本操作,Dockerfile , 自定义仓库


    docker三大核心:镜像,容器,仓库

    step1:安装docker并启动服务,设置开机自启

    yum -y install docker

    systemctl start docker

    systemctl enable docker                         =====》ifconfig时会产生多一张网卡docker0,虚拟网桥

    **********************************************************************************************

    docker version:显示版本号

    查看pull/push帮助:docker help pull/push   或者   man  docker-pull/docker-push

    下载镜像:docker search  关键字                     //查找

              docker pull  镜像名(绝对路径:名称+标识)

    上传镜像:docker push 名称:标识

    导出:

         docker save 名称:标识    -o(>) tar包

    导入:

         docker load -i(<)  tar包

    查看本机存在镜像:

         docker images                             

    file 文件名                        //查看文件类型

    启动镜像生成容器:

    docker run -itd (后台创建)   名称:标识   /bin/bash(解释器,可缺省)

     *******************************************************

    docker命令:

    docker images                  //查看镜像列表

    docker pull     xx:标识        //下载镜像

    docker push     xx:标识        //上传镜像

    docker history  xx:标识        //查看镜像制作历史

    docker inspect  xx:标识        //查看镜像底层信息

       docker inspect -f "{{.NetworkSettings.IPAddress}}"  容器id         //查看容器ip地址

    docker rmi     xx:标识           //删除本地镜像

    docker  save  xx:标识   -o或>   tar包             //导出镜像为tar包

    docker  load  -i或<  tar包                        //导入镜像

    docker search     关键字                          //搜索关键字的镜像

    docker  tag    xx:标识   xx:标识                  //相当于创建一个快捷方式

    容器命令:

    docker  run  -itd     xx:标识      /bin/bash   //运行容器

    docker ps   [-q]                               //查看开机容器列表         

                        ============docker container ls

    docker ps -a           //查看所有容器列表

    docker  start/stop/restart       容器id                      //启动/关闭/重启容器

    docker inspect  容器id                                       //查看容器信息 

                   docker inspect -f "{{.NetworkSettings.IPAddress}}"          可用于查看IP

    docker rm   容器id                  //删除容器,一般关机再删除

    docker top  容器id                  //在容器外执行命令,相当于ps

    进入容器:

    docker attach  容器id                           //exit会使得容器关闭,ctrl+p+q退出则不会使得容器关闭

    docker exec -it 容器id或者容器名称  bash        //exit不会使得容器关闭

    2.自定义镜像

    step1:下载原始镜像run运行,并且进入容器修改数据,安装软件包

    step2:打包镜像

    docker commit  容器id         镜像名:标识   

    3.dockerfile文件的创建,名称固定为Dockerfile

    step1:写入Dockerfile文件

    FROM    基础镜像

    MAINTAINER:镜像创建者信息(说明)

    EXPOSE:开放的端口

    RUN    在容器内执行的命令(可以多个)              //制作镜像时执行的命令

    ADD(相当于CP)  真机本地路径   容器里面的路径      //复制文件到容器       

               //dockerfile必须和本机文件在同一个目录下

    CMD:容器启动时执行的命令,只能有一条CMD,但可以带脚本,启动多个服务

                  CMD ["/bin/ls","-a","-l"]

    WORKDIR(相当于永久的cd):                                    //定义容器默认工作目录

                   WORKDIR  /tmp=====cd /tmp

    ENV:设置环境变量(在镜像中设置)

    step2:依据dockerfile文件创建镜像

        docker build -t 名称:标识    dockerfile所在路径(/opt)

    step3:依据镜像运行容器

         docker  run  -itd     xx:标识      /bin/bash     

    3.镜像仓库

    step1:安装docker,docker-distribution软件包

           yum -y install docker docker-distribution

           systemctl start docker docker-distribution

           systemctl enable docker docker-distribution

    step2:修改配置文件/etc/sysconfig/docker

    13,24   

    INSECURE_REGISTRY='--insecure-registry  域名或IP:5000'                <===========/etc/hosts

    ADD_REGISTRY='--add-registry  域名或IP:5000'  

    step3:重启docker,docker-distribution服务

             systemctl restart docker

    step4:为镜像改标签

    docker tag 名称:标识       IP或域名:5000/镜像:标签   (写入ip只能ip访问,写入域名只能域名访问)

    step5:上传镜像

    docker push IP或域名:5000/镜像:标签

      

    查看:

    curl http://127.0.0.1:5000/v2/_catalog                    //查看镜像

    curl http://127.0.0.1:5000/v2/镜像名/tags/list                    //查看标签

    客户端:

    Step1:安装docker软件包

                  yum -y install docker

                  systemctl start docker

                  systemctl enable docker

    Step2:更改/etc/sysconfig/docker

    13,24   

    INSECURE_REGISTRY='--insecure-registry  域名或IP:5000'                <===========/etc/hosts

    ADD_REGISTRY='--add-registry  域名或IP:5000'

    step3:docker images 查看镜像

    docker run -itd(后台运行) -p 真机的端口:容器端口  -v 真机文件:容器文件  --name   容器名称    --privileged=true      镜像名:标识   /usr/sbin/init

    /usr/sbin/init: 使得systemctl在容器内可以使用

     docker  run   -itd  --name zentao -p 80:80  -v /opt/docker_zentao/script:/app/zentaopms  -v /opt/docker_zentao/data:/var/lib/mysql   zentao:latest

    --name: 名称                     

    -p:  端口映射                               

    -v:  文件映射                                                                                                                             

  • 相关阅读:
    [leetCode]剑指 Offer 62. 圆圈中最后剩下的数字
    [leetCode]剑指 Offer 61. 扑克牌中的顺子
    [leetCode]剑指 Offer 60. n个骰子的点数
    POJ
    POJ
    POJ
    codeforces
    LightOJ
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/krystal-LA-zx/p/12850290.html
Copyright © 2020-2023  润新知