zoukankan      html  css  js  c++  java
  • docker常用操作命令

    docker常用命令

    docker run
    docker ps
    docker exec 
    docker inspect 容器名 //查看容器的一些信息
    docker history --no-trunc 镜像名 //查看镜像的构建步骤
    docker ps -s 容器的size和容器层总大小
    docker镜像是分层和容器是单独一层只读镜像的
    docker volume create 卷名
    docker run -itd --name nginx -d -v test:/usr/local/nginx/html/ nginx
    

    容器网络模式

    bridge(默认) 
    host(主机)
    container( 联合挂载式网络模式) 
    macvlan (没用过)    
    none(无网络环境,不常用)   
    overlay(用于docker swarm,docker swarm已被淘汰)
    

    docker run --net=xx指定容器使用的网络类型

    • 默认bridge

      • 不隔离
    • host(使用主机网络)

      • network namespaces的host模式,容器网络和宿主机一样
      docker run --net host 。。。。
      
    • none

      • docker不会去设置容器的网络信息,用户可以自行设置,或者说容器不需要ip,例如一个专门跑编译工作的容器
    • macvlan

      • macvlan会共享物理网卡所链接的外部网络
      • 使用macvlan网络驱动程序为每个容器的虚拟网络接口分配MAC地址,使其看起来像是直接连接到物理网络的物理网络接口。在这种情况下,您需要在Docker主机上指定一个物理接口以用于macvlan,以及macvlan的子网和网关。
      docker network create -d macvlan 
        --subnet=172.16.86.0/24 
        --gateway=172.16.86.1 
        -o parent=eth0 pub_net
      
    • container

      • 联合挂载式网络模式
      • 容器启动的时候选择和已存在的容器共用同一个network namspaces,进行排错网络不正常的问题
      docker run -tid --rm  --name test01 alpine
      docker run -tid --rm --name test02 --net=container:test01 alpine
      

    容器互联 自定义的网桥是通的

    docker network create test
    docker run -tid --rm --net test --name test01 alpine
    docker run -tid --rm --net test --name test02 alpine
    docker exec  test01 ping test02
    
    欢迎大家评论转发
  • 相关阅读:
    realsense SDK debug
    网络
    JVM基础系列第11讲:JVM参数之堆栈空间配置
    图片一句话木马简单制作方法
    RocketMQ(四):生产者消息数据写入实现细节
    RocketMQ(三):broker启动逻辑
    发现一个新的技术网站 https://dotnet9.com/
    【最新】解决Github网页上图片显示失败的问题
    c++入门
    Newtonsoft.Json json.net 可以丢弃了,微软发布了 System.Text.Json 适用于.net 4.6.1 +,后悔了,建议.net5+项目使用
  • 原文地址:https://www.cnblogs.com/os4top16/p/12622299.html
Copyright © 2011-2022 走看看