docker常用命令-docker网络
docker命令详解
docker search 在docker hub中搜索镜像;
docker pull 从docker镜像源服务器拉取指定镜像或者库镜像;
docker push 推送指定镜像或者库镜像至docker源服务器;
docker history 展示一个镜像形成历史;
docker images 列出系统当前镜像;
docker run 创建一个新的容器并运行一个命令;
docker start 启动容器;
docker stop 停止容器;
docker attach 当前shell 下attach连接指定运行镜像;
docker build 通过Dockerfile定制镜像;
docker commit 提交当前容器为新的镜像;
docker cp 从容器中拷贝指定文件或者目录到宿主机中;
docker create 创建一个新的容器,同run,但不启动容器;
docker diff 查看docker容器变化;
docker events 从docker服务获取容器实时事件;
docker exec 在已存在的容器上运行命令;
docker export 导出容器的内容流作为一个tar归档文件[对应import]
docker import 从tar包中的内容创建一个新的文件系统映像[对应export]
docker info 显示系统相关信息;
docker inspect 查看容器详细信息;
docker kill 指定docker容器;
docker load 从一个tar包中加载一个镜像[对应save];
docker login 注册或者登录一个docker源服务器;
docker logs 输出当前容器日志信息;
docker port 查看映射端口对应的容器内部源端口;
docker pause 暂停容器;
docker ps 列出容器列表;
docker restart 重启运行的容器;
docker rm 移除一个或者多个容器;
docker rmi 移除一个或者多个镜像;
docker save 保存一个镜像为一个tar包[对应load]
docker tag 给源中镜像打标签;
docker top 查看容器中运行的进程信息;
docker unpause 取消暂停容器;
docker version 查看docker版本号;
docker wait 截取容器停止时的退出状态值;
docker网络 4种模式
- host模式,使用--ent=host指定;
- container模式,使用--ent=container:NAME or ID指定;
- none模式,使用--ent=none指定;
- bridge模式,使用--ent=bridge指定,默认设置;
[root@localhost ~]# cat /etc/sysconfig/docker-network
# /etc/sysconfig/docker-network
DOCKER_NETWORK_OPTIONS="--bip=172.16.1.1/16"
- 首先宿主机上创建一对虚拟网卡veth pair设备,veth设备总是成对出现的,组成一个数据的通道,数据从一个设备进入,就会从另一个设备出来,veth设备常用来连接两个网络设备。
- docker将veth pair设备的一端放在新创建的容器中,并命名为eth0,然后将另一端放在宿主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中,可以通过brctl show命令查看。
- 从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。
- 此时容器IP与宿主机能够通信,宿主机也可以访问容器中的IP地址,在bridge模式下,连在同一个网桥上的容器之间可以相互通信,同时容器也可以访问外网,但是其他物理机不能访问docker容器IP,需要通过NAT将容器IP的port映射为宿主机的IP和port。
/etc/init.d/docker stop
关闭docker0
ifconfig docker0 down
删除docker0
brctl delbr docker0
没有brctl需要安装
yum install bridge-utils -y centos6.x的配置:
vim /etc/sysconfig/docker-network
other_args="-b=br0"

/etc/sysconfig/network-scripts/下,修改ifcfg-eth0网卡配置,同时增加ifcfg-br0桥接网卡配置,操作流程如下:
vi ifcfg-eth0内容修改为如下:
DEVICE=eth0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
IPADDR=192.168.43.81
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
USERCTL=no vi ifcfg-br0内容如下:
DEVICE="br0"
BOOTPROTO=none
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=yes
TYPE="Bridge"
IPADDR=192.168.43.81
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
USERCTL=no

启动docker服务
/etc/init.d/docker start
启动一个新的docker客户端,查看客户端ip如下: 进入已经启动过的容器命令:docker attach 容器ID 即可。 此时可以外网了

TYPE=Ethernet
BOOTPROTO=static
BRIDGE="br0"
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
TYPE="Bridge"
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
systemctl restart network
systemctl restart docker
ifconfig docker0 down
brctl delbr docker0
none模式:
安装pipework 克隆
git clone https://github.com/jpetazzo/pipework
cp pipework/pipework /usr/local/bin/
启动容器并设置网络
docker run -itd --net=none --name=lamp2 centos7 /bin/bash
pipework br0 lamp2 192.168.1.111/24@192.168.1.254
进入容器查看ip
docker exec lamp2 ifconfig
bridge模式:
docker images
docker run -itd 容器id /bin/bash
给容器添加特权,否则容器没有某些权限 --privileged
docker run -itd --privileged --name=docker-200 --net=none centos7 /usr/sbin/init
查看网关:
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 425 0 0 br0
192.168.1.0 0.0.0.0 255.255.255.0 U 425 0 0 br0
路由跟踪:
traceroute 114.114.114.114
- docker 1.13.x 版本: docker引擎服务-绑定桥接br0网卡配置:
# /etc/sysconfig/docker-network
DOCKER_NETWORK_OPTIONS="-b=br0"
- docker -ce 版本:(19.03),docker引擎服务-绑定桥接br0网卡配置:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -b=br0
重新加载配置文件
systemctl daemon-reload
docker常用命令-docker网络的更多相关文章
- 《Docekr入门学习篇》——Docker常用命令
Docker常用命令 Docker镜像管理 搜索镜像:docker search 获取镜像:docker pull 查看镜像:docker images 删除镜像:docker rmi 构建镜像:do ...
- Docker 常用命令和Dockerfile
Docker 简介 官方的解释为:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现 ...
- docker常用命令与容器创建
################docker安装##################### Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个 ...
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- docker 系列 - 基础镜像环境和Docker常用命令整理
=======================docker 基础镜像环境 alpine=======================可以使用 docker search 命令搜索指定的 image, ...
- Docker常用命令汇总,和常用操作举例
Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...
- 1021 docker常用命令和Jenkins搭建
docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...
- docker 常用 命令
http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...
- 6.docker常用命令
docker 常见命令 更细的配置请参考官方文档 第一大部分容器生命周期管理 01 .docker run :创建一个新的容器并运行一个命令 $ docker run [OPTIONS] IMAGE ...
- Docker 常用命令总结
Docker 常用命令总结 回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...
随机推荐
- 如何使用Java在Excel中实现一个数据透视表
摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前一段时间淘宝出了一个"淘宝人生"的模块, ...
- 使用Docker+PHP搭建苹果Maccms的影视站详细教程
自己做博客站太难了,SEO太差自己都搜不到,原文地址求你点进去看:https://typecho.hanzhe.site/archives/88 说在前面 很早之前还没参加工作的时候,手头没钱,想要看 ...
- 如何修改NuGet默认全局包文件夹的位置?
由于一些历史原因,重装系统成为Windows用户解决疑难杂症的祖传手艺.受此影响,给硬盘分盘几乎成为了一种执念,少则C.D两个盘,夸张一点的5~6个盘的也不是没有. PS:macOS和Linux一直都 ...
- ABP VNext添加全局认证(如何继承AuthorizeFilter)
前言 目前公司采用的开发框架是ABP VNext微服务框架 最近突然发现一个问题,ABP中如果控制器或服务层没有加 Authorize特性的话,则不会走身份认证,且不会认证Token 如图: 但是项目 ...
- 深入理解Java虚拟机(JVM):原理、结构与性能优化
1. 介绍 Java虚拟机(JVM)是Java程序的核心执行引擎,负责将Java源代码编译成可执行的字节码,并在运行时负责解释执行字节码或将其编译成本地机器代码.本文将深入探讨JVM的原理.结构以及性 ...
- VScode 中golang 基准测试 go test -bench .
目的:基准测试的主要目的是比较不同实现方式之间的性能差异,找出性能瓶颈. 1 准备以_test.go结尾文件和导入testing包 在命名文件时需要让文件必须以_test结尾,在文件中导入testin ...
- 创建python虚拟环境并打包python文件
前言 当需要为一个离线环境部署python应用时,离线环境可能缺少各种python环境,有docker的话可以用docker,没有docker可以用pyinstaller打包成二进制文件.pyinst ...
- SAP 传输请求释放及传输过程 SE10 STMS
T-CODE:SE10 STMS 1.传输请求释放 首先通过SE10打开传输组织器. 点击[显示],可以看到待释放的请求. 此时将可修改请求中的请求,点击进行展开,可以看到子请求号和请求属性. 选中请 ...
- 【pytorch】ResNet源码解读和基于迁移学习的实战
"工欲善其事,必先利其器",掌握ResNet网络有必要先了解其原理和源码.本文分别从原理.源码.运用三个方面出发行文,先对ResNet原理进行阐述,然后对pytorch中的源码进行 ...
- SpringBoot3集成Redis
目录 一.简介 二.工程搭建 1.工程结构 2.依赖管理 3.Redis配置 三.Redis用法 1.环境搭建 2.数据类型 3.加锁机制 四.Mybatis缓存 1.基础配置 2.自定义实现 五.参 ...