zoukankan      html  css  js  c++  java
  • docker网络模型

    docker run -it --rm --net none --name test centos:newer /bin/bash

    --net none的作用是创建一个封闭的容器,容器只有lo接口,只能跟自己通信,这种网络模型在容器中叫做closed container

    bridge container: 此类容器有两个接口,loopback和以太网接口

    以太网接口桥接至docker daemon设定使用的桥,默认为docker0,不指定的话默认使用bridge container模型

    docker run -it --rm --net none --name test -h myhost centos:newer /bin/bash

    -h myhost的作用是设定容器的主机名为myhost

    docker run -it --rm --name test -h myhost --dns 192.168.204.2 busybox /bin/sh

    --dns 192.168.204.2为容器指定dns服务器

    docker run -it --rm --name test -h myhost --add-host "docker.com:172.16.100.1" busybox /bin/sh

    --add-host "docker.com:172.16.100.1"/etc/hosts文件中添加域名解析--add-host可以出现多次

    docker run -it --rm -p 80 --name web busybox /bin/sh

    -p 80 是将容器中的80端口映射到宿主机上的一个随机端口,具体映射到哪个端口可以在宿主机上使用命令docker port 容器名 查看

    接下来创建一个web容器,在容器中执行命令httpd -h 查看httpd的帮助命令,mkdir -p /web/html 创建根目录,echo “From Web

    Container” > /web/html/index.html 创建网页,httpd -f -v -h /web/html/在前台启动容器,此时在浏览器中输入对应的服务器地址和

    端口就可以访问到内容了,为了通过宿主机而能访问到容器中的80端口,其实宿主机在iptablesnat表中自动添加了端口映射的规则

    docker run -it --rm -p 80:80 --name web  busybox /bin/sh

    将主机的80端口映射为容器的80端口

    docker run -it --rm -P --expose 80 --expose 8080 --expose 443 --name web  busybox /bin/sh

    同时发布多个端口

    docker run -it --rm --name joined_web  --net container:web busybox /bin/sh  web这个容器共用一个网络名称空间,在任

    意一台容器中对网络相关的修改,对另外一个容器同样生效,这种叫做联盟容器

    docker run -it --rm --net host --name web centos /bin/bash 使用物理机的网络名称空间,此时该容器的网络功能就跟物理机的

    网络功能一样了,这种叫做开放式网络模型

    docker run -d -it --name web busybox httpd -f

    -d表示将docker运行为守护进程,httpd后面的-f不加的话,容器运行完httpd就停止了,-f表示将httpd运行在前台,这样容器就会处于运

    行状态

    docker stats joined_web 查看容器资源使用信息

    run命令中某些选项还可以限制资源的使用比如-m限制该容器内存的使用

    docker top joined_web 查看容器进程运行状态

  • 相关阅读:
    kubernetes安装记录
    nginx ssl 客户端认证配置调研
    centos 6 docker 安装(通过yum)
    elk docker 部署实战
    react 技术栈项目轻量化方案调研
    service worker 实战
    记一次 node-fetch 使用时踩的坑
    那些年使用npm进行依赖管理所踩的坑
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    linux 环境变量设置错误导致 command not found
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5677132.html
Copyright © 2011-2022 走看看