docker

基础命令:
sudo service docker start
sudo service docker stop
sudo docker --version
docker-run
image.png

docker和vm的区别
docker本质是容器;vm本质相当于虚拟机;所占内存、启动速度、集成性

docker:镜像,容器,仓库 镜像是静态存储,容器是镜像运行起来的动态实例,仓库是存储很多镜像的地方,在远端
镜像分层简单理解:所有的Docker镜像都起始于一个基础镜像层 ,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层;
docker镜像基本命令

docker pull <名称>  拉取镜像
docker images   查看所有镜像信息
docker inspect 查看具体镜像信息
docker search <应用名称> 查找
docker rmi <标签或者ID> 删除
docker tag <ID> <tag名称> 修改名称
docker commit <ID> <REPOSETORY:TAG> 创建
docker save -o ***.tar <TAG/ID>  迁出
docker load --input ***.tar 或者 codker load <***.tar 载入
docker push <仓库名称> 上传
docker容器相关命令
docker create -ti ubuntu 创建容器
docker run 创建并运行容器

查看终止的容器: docker ps -a
查看运行的容器: docker ps
重新启动:docker start <ID>
终止容器:docker stop <ID>

进入容器:docker exec -t -i <ID> bash
删除容器:docker rm 
导出容器是指导处一个已经创建的容器到一个文件:docker export <NAMES> > ***.tar
导出的文件又可以使用docker import命令导入,成为镜像:cat aa.tar | docker import - ccc/testcc:cctar
docker相关运用
sudo docker pull nginx
sudo docker ps -a 列出所有容器, 不加 -a 仅列出正在运行的,像退出了的或者仅仅只是创建了的就不列出来
sudo docker run -d -p 8800:80 --name nginx_xiao  nginx  #运行指定的镜像 
dudo docker run -d --privileged=true -p 83:80 --name nginx83 nginx   #提升权限
#宿主主机端口:容器内部端口 
  -d  后台运行   
  -p 8800:80 是指定对外暴露的端口  容器内部用80 对应外部宿主主机的的8800  代理一样
  --name指定容器的名字  最后的nginx 代码要运行的镜像名字  有tag的加上tag 如 nginx:xxx  默认为latest

docker数据管理:数据卷&挂载
数据卷
创建数据卷:docker volume create mydata
查看:docker volume ls 
查看详细信息:docker volume inspect mydata 
挂载:方式1:docker run --name xxxx -p 8888:8888 -v /my:/docker -it imagename /bin/bash
docker run --name xxxx -p 8888:8888 --mount   
type:volume,source=/src/xxx,target=/xxx /my:/docker -it imagename /bin/bash 

挂载:docker run -it --name c1 -v /宿主机目录:/docker目录 -it imagename /bin/bash 

dockerfile:
绑定dockerfile位置:docker build -f /path/to/a/Dockerfile

# This my first nginx Dockerfile
# Version 1.0

# Base images 基础镜像
FROM centos

#MAINTAINER 维护者信息
MAINTAINER tianfeiyu 

#ENV 设置环境变量
ENV PATH /usr/local/nginx/sbin:$PATH

#ADD  文件放在当前目录下,拷过去会自动解压
ADD nginx-1.8.0.tar.gz /usr/local/  
ADD epel-release-latest-7.noarch.rpm /usr/local/  

#RUN 执行以下命令 
RUN rpm -ivh /usr/local/epel-release-latest-7.noarch.rpm
RUN yum install -y wget lftp gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all
RUN useradd -s /sbin/nologin -M www

#WORKDIR 相当于cd
WORKDIR /usr/local/nginx-1.8.0 

RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-pcre && make && make install

RUN echo "daemon off;" >> /etc/nginx.conf

#EXPOSE 映射端口
EXPOSE 80

#CMD 运行以下命令
CMD ["nginx"]
dockerignore
.dockerignore 文件的作用类似于 git 工程中的 .gitignore

Compose 是用于定义和运行多容器 Docker 应用程序的工具,通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务

docker容器之间的通信
docker网络通信分类介绍:NET(网络地址转换,涉及到ipv4地址,公网ip,内网),host-only(网卡通信),bridge(网桥,TCP/IP 二层协议,mac地址)对于一个docker 容器,如果没有通过--network进行指定,则默认采用的是bridge桥接模式

网络配置:Docker容器网络资源通过内核的Network Namespace机制实现隔离,不同的Network Namespace有各自的网络设备、协议栈、路由表、防火墙规则等
linux6种namespace
IPC:隔离System V IPC 和 POSIX消息队列
Network:隔离网络资源
Mount:隔离文件系统挂载点
PID:隔离进程ID
UTS:隔离主机名和域名User:隔离用户ID和组ID
docker五种容器的网络模式:none(手动配置)、macvlan(通过macvlan在host网卡上面创建多个子网卡)、host(与主机共享一个Network Namespace)、bridge(docker设计的NAT网络模型)、overlay(跨主机子网络模型 vxlan)

libnetwork:基于CNM的实现;Docker 启动容器时,用来为 Docker 容器提供网络接入功能的插件,它可以让 Docker 容器顺利接入网络,实现主机和容器网络的互通
跨主机网络通信的解决方案:weave,flanne

K8s简介:是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化;特点:1、服务发现和负载平衡 2、存储编排 3、自动部署和回滚 4、自动垃圾箱打包 5、自我修复 6、秘密和配置管理
主节点Master:kube-apiserver etcd kube-scheduler kube-controller-manager cloud-controller-manager
计算节点Node:kubelet kube-proxy Pod

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容