docker-网络基础配置和dockerfile
00x1:
端口映射:
如图:这就是把容器的 5000端口和主机的32768端口相映射,所以通过访问主机的32768端口就可以访问容器的web界面
这个端口是系统默认的如果自定义命令:docker run -d -p 5123:5000 training/webapp python app.py
同时可以多端口映射,可映射指定ip。


docker logs -f training/webapp 查看容器内web应用信息

docker port 容器名查看映射端口情况,有时候多端口映射的时候有用

00x2:实现两个容器的连接
实现容器之间的互相通信: 在源容器和接受容器之间的创建一个隧道也就是容器互联:
命令是link 参数是 link name:alias name 是连接容器的名字,而alias 是隧道也就是连接的名字:举个实例:是web容器和数据库容器之间的联系
先创建数据库容器:先下载镜像: docker pull training/postgres
然后创建数据库容器: docker run -d -P --name db training/postgres
先删除之前下载的webapp/training 容器web,然后创建新的容器和数据库容器建立联系
docker rm -f web
建立新的容器连接db容器
docker run -d --name web --link db:db training/webapp python app.py
这个命令就是创建了名字叫 db的链接,链接的web容器和db容器 如图:

docker ps查看连接情况:
这个注意的是数据库安全情况,没有用-p 为了不让数据库端口暴露在主机上
env命令可以查看连接容器的环境变量
还可以在容器的/etc/host 里面查看具体ip
00x3:Dockerfile 详情:
Dockerfile 分为四个部分: 基础镜像信息,维护者信息,镜像操作指定,和容器启动指令,它是由一条一条语句组成,支持#号开头的注释行
Dockerfile 基本命令: dockerfile 就是利用一系列的指令的顺序解析实现自动的image
通过build 命令执行dockerfile 的描述来构建镜像,dockerfile client 会把整个context 打包发送到Docker
Server端,然后server端build镜像,成功后删除context目录
Dockerfile catch : 每次都会执行命令后提交一个镜像,如果要重新使用之前的镜像,可以通过-no-cache的方式来禁用这个cache
Dockerfile 大小写不敏感,但是建议全部大写
FROM 镜像 必须第一行
MAINTAINER 标识镜像的作者
RUN: run就是启动容器,执行命令,然后提交存储层文件变更,如果执行多条命令:需要加上:&& 符号可以有多个run,支持的是两种运行方式:RUN <CMD> /bin/sh -c "cmd" 运行
CMD命令:CMD命令的作用是容器的默认启动命令,就是执行container的默认操作
一个dockerfile 只要一个cmd 命令 ,当有多个cmd命令的时候,只执行最后一条。
EXPOSE声明端口:
格式是: EXPOSE <端口1><端口2> 这个只是一个声明,不会真正的应用,但是当随机映射端口的时候,也是docker run -P的时候,会自动的使用这个镜像服务端口
ENV:
ENV key value
用来设置环境变量: 当镜像创建容器的时候自动设置环境变量
WORKDIR 指定当前的工作目录
这仅仅是基础知识,对于dockerfiles的实战还需加强学习
docker-网络基础配置和dockerfile的更多相关文章
- docker网络基础配置
常用两种方式: 1)映射容器端口到宿主机 2)容器互联机制 --------------------------------------------- 端口映射实现访问容器的用法: docker ru ...
- Docker网络基础:快速指南
Docker网络基础:快速指南 原文连接:http://blogxinxiucan.sh1.newtouch.com/2017/07/30/Docker网络基础:快速指南/ 了解有关扩展网络功能的默认 ...
- Linux网络基础配置
这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...
- docker数据卷管理及网络基础配置
数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可 ...
- Docker 网络基础介绍
[编者按]本文作者为 Mesosphere 开发大使 Michael Hausenblas,主要介绍配置 Docker 单主机网络的基本知识.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...
- 七、【Docker笔记】Docker中网络基础配置
一个系统一般都包含多个服务组件,这些大量的服务组件不可能放在同一个容器中,这就需要多个容器之间可以互相通信.Docker提供了两种方式来实现网络服务:映射容器端口到宿主主机.容器互联机制. 一.端口映 ...
- docker的网络基础配置
一.端口映射实现访问容器 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放 ...
- Docker网络基础
大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合. Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务. 端口映射实现访问容器: 在启动 ...
- linux基础之网络基础配置
基础命令:ifconfig/route/netstat,ip/ss,nmcli 一.ifconfig/route/netstat相关命令 1. ifconfig - configure a netw ...
随机推荐
- python基础语法三
集合: 1.不同元素组成 2.无序 3.集合中的元素必须是不可变类型 s = {1, 2, 3 } #定义集合 s = set('hello') print(s) s.pop() #指定删除 s.r ...
- python vtk 通过回调函数监测键盘”Up”键动作,每按一次方向上键,actor变换一种颜色
import vtk class KeyPressInteractorStyle(vtk.vtkInteractorStyleTrackballCamera): def __init__(self,p ...
- CentOS 6.8 配置防火墙,开放8080端口
打开配置文件 sudo vim /etc/sysconfig/iptables 按下a,进入编辑 加入这一行 -A INPUT -m state --state NEW -m tcp -p tcp - ...
- 实现在WebView中返回上一级
代码 import React, {Component} from 'react'; import {Platform, View, WebView, BackHandler,Dimensions,S ...
- 【EMV L2】Processing Restrictions
目的: 处理限制(Processing Restrictions)的目的是确定终端中的应用程序与ICC中的应用程序的兼容程度,并进行任何必要的调整,包括可能拒绝交易. 执行条件: 终端应该都要执行Pr ...
- 【转载】tolua之wrap文件的原理与使用
什么是wrap文件 每个wrap文件都是对一个c#类的包装,在lua中,通过对wrap类中的函数调用,间接的对c#实例进行操作. wrap类文件生成和使用的总体流程 生成一个wrap文件的流程 这部分 ...
- Codeforces1099D.Sum in the tree(贪心)
题目链接:传送门 思路: 一个节点放的数越大,那么以它为根的子树的节点权值之和就越小. 所以我们要在合法的范围内,使偶数层节点的权值尽可能地大.也就是说,令它的权值是子节点的最小值,这样保证了它的子节 ...
- word2007无法打开.doc
如果您的WORD2007无法打开.DOC文档,可以试试如下的方法 打开注册表编辑器(开始-运行-输入regedit VISTA中在开始菜单最下方的搜索栏内输入regedit) 展开HKEY_CLASS ...
- 使用CNN生成图像先验,实现更广泛场景的盲图像去模糊
现有的最优方法在文本.人脸以及低光照图像上的盲图像去模糊效果并不佳,主要受限于图像先验的手工设计属性.本文研究者将图像先验表示为二值分类器,训练 CNN 来分类模糊和清晰图像.实验表明,该图像先验比目 ...
- python unittest框架
四个部分: test fixture A test fixture represents(代表) the preparation needed to perform one or more tests ...