Docker 学习 | 基础命令
- 基本概念定义
- 基本组成
- 客户端/守护进程
- C/S架构
- 本地/服务器
- 镜像
- 容器基石
- 只读文件系统
- 联合加载(union mount)
- 容器
- 通过镜像启动
- 执行
- 写时复制
- 仓库
- 公有
- docker hub
- 私有
- 公有
- 相关技术简介
- 依赖的Linux内核特性
- Namespace 命名空间 LXC Kernel Namespace
- 封装 -> 代码隔离->资源隔离
- PID 进程隔离 独立进程表
- NET 管理网络接口 network info
- IPC 进程通信 额外信息标记
- MNT 挂载点
- UTS 隔离内核和版本标识 hostname domain
- Users 用户
- Cgroup 控制组 分配资源 资源限制 CPU 内存
- 资源限制
- 优先级设定
- 资源计量
- 资源控制
- chroot 隔离根文件系统
- 客户端/守护进程
- 基本组成
- 基本操作
- 启动容器 docker run Image
- 交互 docker run -i -t Image /bin/bash
- -name
- 查看进程 docker ps/top [-a ] / [-l]
- 详细信息 docker inspect +id /+ name
- 交互 docker run -i -t Image /bin/bash
- 启动停止容器 docker start -i name/id
- 删除容器 docker rm 删除已停止容器
- 启动容器 docker run Image
- 守护形式运行容器(长期运行)
- 退出crtl +p ctrl+q
- 重新进去 sudo docker attach +id/name
- 后台执行 docker run -d
- 查看容器日志(内部运行情况) docker logs [-f一直跟踪] [-t 加时间] [--tail最新] 名字
- 查看运行中容器进程 docker top + id/name
- 在运行容器(已启动)中启动运行新进程 docker exec [-d] [-i] [-name]
- 停止运行中的容器 docker stop 发结束信号停止 /kill 直接快速停止
- 部署静态网站
- 容器端口映射 run -P 全部 /-p 指定
- 安装nginx vim
- 停止后会重新分配IP
- 查看和删除镜像
- docker info 查看信息,包含存储驱动
- 列出镜像 docker images -a(所有中间层+其他镜像)/-f 过滤条件/--no-trunc(完整的ID) /-q 只查看唯一ID
- 仓库:REPOSITORY 仓库 (一系列关联镜像集合) 组件仓库 REGISTRY(一个一个独立镜像) 标签TAG +仓库名字 =独立镜像
- docker rmi -f 强制/ --no-prune 保留父镜像
- 获取推送镜像
- docker search --no-trune/-s 3
- docker login 应该先登录
- docker pull -a / --registry-mirror
- 1. /etc/default/docker 修改 2 . 添加 DOCKER_OPTS ="-registry-mirror = http://MIRROR-ADDR"
- http://www.daocloud.io 获取镜像连接(更改2)
- docker push
- 构建镜像
- docker commit -a 作者/ -m 提交信息/-p 暂停
- docker build -t 标签 -q 不显示中间过程 利用Dockerfile创建
- Docker c/s模式
- Remote API CS 可远程
- 三种连接方式 1.unix :///var/rundocker.sock (默认) 2.tcp://host:port 3.fd://socketfd
- 命令
- 服务连接相关 sdocker -d -D - H(host)
- Remote API相关
- 网络设置相关 --ip = 0.0.0.0
- 仓库相关
- 存储相关
- 启动配置文件 /etc/defaut/docker 修改后 要重启服务
- 远程访问
- 修改/etc/defaut/docker 添加 - H tcp://0.0.0.0:2375
- export DOCKER_HOST = "tcp://0.0.0.0:2375" 可修改远程 export DOCKER_HOST =" " 置空
- -H 选项可多个添加
- Dockerfile 指令
- FROM 基础镜像
- MAINTAINER 作者信息
- RUN 运行命令
- shell模式 RUN <command> exec模式 RUN ["executable", "param1", "param2"] 运行其他shell
- EXPOSE <> 多个端口 不能自动需再添加
- CMD (指定命令,参数,容器运行时默认行为 类似RUN, 会被覆盖) ENTERPOINT(跟CMD一样 )
- ADD <src> ...<dest> (包含解压缩功能) COPY<src>..<dest>(普通复制推荐) VOLUME ["/data"] 共享数据
- WORKDIR /绝对路径 设置工作目录 ENV <key><value> <key>=<value> 环境变量
- USER daemon 用户/用户组/默认root ONBUILD [INSTRUCTION] 镜像触发器
- Dockfile 构建过程
- 运行基础镜像 执行指令 提交 删除中间层容器(不删镜像)
- 可以通过调试中间层镜像
- 自动构建缓存 添加--no-cache 不构建缓存 ,刷新 | ENC REFRESH_DATE 2019-05-01修改时间就可刷新
- docker hsitory 查看镜像构建过程
- 网络连接
- 网络基础
- Docker0 提供虚拟网桥 可以设置IP地址 相当于虚拟网卡
- 建立虚拟网侨 brctl addbr br0 && ifconfig br0 192.168.2.100 netmask 255.255.255.0
- 修改默认配置 -b=br0 重启容器
- 互联
- 默认允许所有容器互联
- --icc =ture 全部可ping 通,同一个虚拟网桥,IP不可靠连接(ip变化)
- --link = cct1:webtest(别名) 环境变量env自动更新webtest,hosts也自动更新 wetest
- 拒绝连接
- --icc =false更改默认配置 全部拒绝
- 特定连接
- --icc =false --iptables=true --link 只允许link配置的容器连接
- 默认允许所有容器互联
- 连接外部网络
- --ip-forword=true 允许流量转发 查看 sysctl net.ipv4.all.forwarding
- iptables linux包过滤防火墙 系统
- 表table nat fitter mango
- 链chain INPUT FORWARD
- 规则rule ACCEPT REJRECT DRON
- 允许端口映射访问
- ‘限制IP访问容器
- 网络基础
- 数据管理
- 数据卷
- 独立于UFS 数据共享 不会因容器关闭而消失 放在host主机中
- docker run -it -v ~/datavalume:/data ubuntu /bin/bash
- 添加权限 docker run -it -v ~/datavalume:/data:ro ubuntu /bin/bas
- dockerfile 生成同名的数据卷是不同地址,故不能共享数据
- 数据卷容器
- 挂载数据卷容器 docker run -it --volume-from 镜像名字
- 及时删除了基类数据卷容器 ,不受影响, 数据卷不受容器影响
- 数据备份还原,迁移
- docker run -it --volume-from image -v $(pwd)/data:/data: wr ubuntu tar cvf /data/dvt5.tar /data/datavolume1 (压缩,解压缩类似)
- 数据卷
- 跨主机连接
- 使用网桥
- 两主机 管理工具bridge-utils 同一网段
- 修改 /etc/network/interfaces | address network gateway bridge_port( eth0)
- 修改 /etc/default/docker |-b = br0 --fixed-cidr
- 优点 配置简单,不依赖 缺点:同网段 划分网段,不易实现和管理
- Open vSwitch 通常使用 apache2.0许可 虚拟开源多层交换机 gre 通用路由协议,隧道技术
- openvswitch - switch |网桥工具 bridge-utils
- 建立ovs网桥 |添加gre连接 |配置虚拟网桥 OVS接口
- weave 开源项目
- 安装启动weave 增加执行权限|weave launch 192.168.59.103(第一台电脑ip)
- c2id=$(weave run 192.168.2/24(分配ip地址) -it Ubuntu /bin/bash)
- 使用网桥
Docker 学习 | 基础命令的更多相关文章
- Docker 学习之命令篇
Docker 学习之命令篇 1. docker images //镜像列表 2. docker ps –a //所有运行过的容器 3. docker ps –l 最后运行的容器 4. docker ...
- 【03】循序渐进学 docker:基础命令
写在前面的话 之前谈了啥是 docker 和怎么安装 docker,这里就谈谈 docker 命令的使用,当然,这里的使用可能只是局限于 docker 的增删查改. 另外需要注意的是,为了图片的美观, ...
- docker入门 基础命令 docker安装
docker入门 在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes ...
- docker学习-常用命令2
三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明 ...
- docker学习-常用命令1
一.容器管理 1.1 Docker start/stop/restart/rm 命令实例:启动|停止|重启|删除 容器mydb01# docker start|stop|restart|rm mydb ...
- Docker - 常用基础命令
Docker命令分布 帮助信息 查看docker基本信息:docker info 查看docker版本信息:docker version 查看docker的所有命令及选项:docker --help ...
- (三)、Docker常用基础命令
1.Docker 帮助命令 帮助命令: docker version 查看版本 docker info 查询docker详细信息 docker --help 查看命令帮助 2.Docker 镜像命令 ...
- Docker系列——Docker安装&基础命令
Docker 概述 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. ...
- Docker 学习之命令详解
1. docker version docker version 显示 Docker 版本信息. 2. docker info docker info 显示 Docker 系统信息,包括镜像和容器数. ...
随机推荐
- A-05 前向选择法和前向梯度法
目录 前向选择法和前向梯度法 一.前向选择法 1.1 余弦相似度求投影 1.2 举例 1.3 前向选择法优缺点 1.3.1 优点 1.3.2 缺点 二.前向梯度法 2.1 举例 2.2 前向梯度法优缺 ...
- COGS 2095. 不平凡的引线
2095. 不平凡的引线 ★☆ 输入文件:firelead.in 输出文件:firelead.out 简单对比 时间限制:1 s 内存限制:256 MB [题目描述] 这里说的引线是炮 ...
- django安装以及配置
一.django的安装和启动 1.安装 pip3 install django==1.11.22 目前来讲1.11.22版本比较稳定 2.django的创建 命令行:cmd先去到django创建目录, ...
- R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/CGz51qOjFSJ4Wx_qOMzjiw 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号 ...
- Web渗透之mssql2005 差异备份getshell
这里记录下mssql2005差异备份拿shell的过程 http://192.168.5.21:81/index.asp?id=1;alter/**/database/**/[asp_test]/** ...
- Powershell寻找域管在线服务器
记录线下Powershell在域环境中对于服务器的信息收集 Powershell的脚本有很多,在内网渗透测试中不仅能扫,能爆,能转发,还能做更多的事情.我们常用的脚本有Powersploit,Empi ...
- MYSQL中HEX、UNHEX函数
HEX()函数:返回十六进制值的字符串表示形式.注意:并不是十进制转化为十六进制数,而是转化为字符串... UNHEX() 函数: 每对十六进制数字转化为一个字符. 下面是HEX()几个简单的例子: ...
- AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!
背景 AB实验可谓是互联网公司进行产品迭代增加用户粘性的大杀器.但人们对AB实验的应用往往只停留在开实验算P值,然后let it go...let it go ... 让我们把AB实验的结果简单的拆解 ...
- 基于 HTML5 Canvas 的楼宇自控系统
前言 楼宇自控是指楼宇中电力设备,如电梯.水泵.风机.空调等,其主要工作性质是强电驱动.通常这些设备是开放性的工作状态,也就是说没有形成一个闭环回路.只要接通电源,设备就在工作,至于工作状态.进程.能 ...
- pytorch笔记
Tensor slice Tensor的indices操作 以[2,3]矩阵为例,slice后可以得到任意shape的矩阵,并不是说一定会小于2行3列. import torch truths=tor ...