zoukankan      html  css  js  c++  java
  • Docker典型命令演练

    一、镜像相关的命令

    https://download.docker.com/linux/centos/docker-ce.repo      安装docker-ce的yum镜像源
    docker search 在docker hub中搜索镜像; docker pull 从docker镜像源服务器拉取指定镜像或者库镜像; docker images 列出系统当前镜像;
    docker commit ID name 可以实现容器提交为新的镜像,提交的镜像自动进入当前系统的镜像列表(容器|镜像内容是完整的);
    docker export ID > name.tar 可以实现容器提交为新的镜像,提交的镜像不能自动进入当前系统的镜像列表,可以提交为新的tar文件;(镜像内容会丢失部分数据:当前正在运行中、内存中、环境变量、执行命令)
    cat cetos7.tar | docker import - centos7_v3.tar 从tar包的内容创建一个命名为centos7,版本为v3的镜像
    docker save centos7:v1 -o centos7:v3.tar 直接导出镜像为.tar文件(镜像内容是比较完整的)(-o给tar包命名)(推荐使用导出镜像的方法)
    docker load -i centos7_v3 导入save保存的镜像; docker history 展示一个镜像形成历史; docker push 推送指定镜像或者库镜像至docker源服务器; docker build
    -t centos:ssh - < Dockerfile docker build -t centos:ssh . 通过Dockerfile定制镜像; docker rmi ID(可以多个ID) 移除一个或多个镜像; docker tag 镜像名:版本 标签名:版本 给镜像打标签;
    docker cp zabbix-3.2.6.tar.gz 1ccbd29c12c5:/tmp/    #从宿主机拷贝文件至docker容器;
    docker cp 1ccbd29c12c5:/tmp/zabbix-3.2.6.tar.gz .     #从docker容器拷贝文件至宿主机;

    二、容器相关命令

    1、创建及运行容器

    docker run -itd --net=none --name=centos6 --privileged  -p 80:80 -p 6022:22  -v  /var/www/html/:/usr/share/nginx/html/  docker.io/lemonbar/centos6-ssh:latest  /bin/bash   在容器里启动一个/bin/bash shell环境,可以登录进入操作.
    其中相关的参数解释如下:
    -itd               其中-t tty,表示打开一个终端的意思,-i interactive,表示可以交互输入,-d表示在后台启动,以daemon方式启动。
    --net              指定容器的网络模式
    --name             给容器命名,跟ID对应,都是唯一
    --privileged       使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
    -p  80:80          端口映射(第一个80表示宿主机的端口,第二个表示容器的端口)
    -v                 目录挂载(冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。)
    /bin/bash          启动一个bash环境(可以不设置,当容器和宿主机有端口冲突是,会导致容器一直处于退出状态,这是可以使用sleep 999d启动容器)
    -cpus=1 指定容器使用cpu个数
    --cpuset-cpus=0-0 指定容器使用一个或多个cpu(指定逻辑cpu)
    -m 512m 指定容器的内存限制
    -h, --hostname 指定容器的主机名(由于每次启动容器时会先经过初始化层,从初始化层读取主机名,详见原理)

     2、其他命令

    docker start   ID                       启动容器;
    docker stop    ID                       停止容器;
    docker  exec   -it  id  /bin/bash       进入容器终端
    docker stats ID 动态查看容器资源使用情况
    docker stats ID --no-stream 静态查看容器资源的使用情况
    docker commit ID name:v1 提交当前容器为新的镜像,并给镜像命名为name,版本为V1
    docker inspect 查看容器所有信息 docker inspect ID
    |grep -i "ipaddr " 查看容器IP信息; docker ps 列出运行中的容器列表; docker ps -a 列出所有容器列表; docker ps -qa 列出所有容器的ID docker restart 重启运行的容器; docker rm 移除一个或者多个容器; docker top 查看容器中运行的进程信息; docker create 创建一个新的容器,同run,但不启动容器; docker diff 查看docker容器变化; docker exec 在已存在的容器上运行命令; docker kill 指定docker容器; docker info 显示系统相关信息; docker pause 暂停容器; docker unpause 取消暂停容器; docker port 查看映射端口对应的容器内部源端口; docker wait 截取容器停止时的退出状态值;

     三、Docker仓库源更新

            Docker默认连接的国外官方镜像,通常根据网络情况不同,访问时快时慢,大多时候获取速度非常慢,为了提示效率可以自建仓库或者先修改为国内仓库源,提升拉取镜像的速度。Docker可以配置的国内镜像有很多可供选择,例如:Docker中国区官方镜像、阿里云、网易蜂巢、DaoCloud等,这些都是国内比较快的镜像仓库。从国外官网下载Docker Tomcat镜像,访问速度慢;

    Docker镜像修改方法,vim /etc/docker/daemon.json,执行如下命令即可:

    cat>/etc/docker/daemon.json<<EOF
    {
    "registry-mirrors":["https://registry.docker-cn.com"]
    }
    EOF
    service docker restart
  • 相关阅读:
    一文搞懂Raft算法
    设计数据密集型应用第三部分:派生数据
    对一次架构设计的总结和反思
    One take,可望而不可即
    设计数据密集型应用第二部分:分布式系统的机遇与挑战
    [代码重构]简化函数调用
    [代码重构]简化函数调用
    [Vue专题] 对比vue-cli2.x和vue-cli3.x的搭建
    npm ERR! code ENOLOCAL
    Jenkins配置基于角色的项目权限管理
  • 原文地址:https://www.cnblogs.com/deny/p/10020491.html
Copyright © 2011-2022 走看看