IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker笔记 -> 正文阅读

[系统运维]docker笔记

一次搭建,处处运行

docker的安装

安装测试完成之后需要配置阿里云的镜像源,用户加速镜像的拉取

常用参数

参数含义使用示例
-i交互式模式运行
-t$12
-d后台运行
-v挂载数据卷
-p映射端口
-e指定环境变量
–name指定容器名字
run运行镜像docker run -it cenos /bin/bash
attach进入容器当前的命令行;使用ctl +q+p不停止推出容器docker run -it cenos /bin/bash
exec进入容器并执行一条命令docker exec 容器id /bin/bash
inspect查看docker的容器信息,其中mounts挂载信息就显示了容器的挂载情况docker inspect centos

容器数据卷

定义

将docker容器中的数据同步到本地

应用场景

docker中数据库的数据的本地存储,避免容器删除之后,数据的丢失;
不希望数据直接放到容器中;

使用

常用参数
参数含义使用示例
-i交互式模式运行
-t从容器打开一个交互终端
-d后台运行,并返回容器id
-v挂载数据卷docker run -it -v 本机目录: 容器中的路径 centos /bin/bash 该绑定为双向绑定
-- volumes-from从父容器中的挂载同样的数据卷,并且两者的数据卷数据同步docker run -it 镜像1的id --volumes-from 镜像1启动的别的容器 该命令启动的容器会与之前启动的容器公用相同的卷及数据

具名挂载or匿名挂载

docker volume ls 查询docker中历史所有的卷
docker run -v 容器内路径 匿名挂载
docker run -v 挂载名:容器内路径 具名挂载
docker run -v 挂载名:容器内路径:容器权限 默认为rw-容器可读可写;ro-容器只读;

多个容器数据卷的数据的共享

dockerfile初体验

原则

1. 所有关键字都大写
2. 每一行都是容器的一层
3. 建议dockerfile的文件名为 Dockerfile

常用命令

参数含义使用示例
build构建容器docker build -f /dockerfile路径 -t 镜像名称:版本号 镜像存储路径
history查看docker镜像是如何一步一步的构建起来的docker history 镜像id可以看下官方镜像是如何制作的

Dockerfile常用关键字

参数含义使用示例
FROM基础镜像FROM centos
MAINTAINER容器的作者MAINTAINER yyb
RUN镜像运行起来需要执行的命令FROM centos
ADD需要添加的压缩包等压缩文件FROM centos
COPY将我们的文件拷贝到镜像中COPY centos
WORKDIR镜像的工作目录;进入到镜像之后默认进入的路径WORKDIR centos
VOLUME挂载卷;与-v 参数类似VOLUME [“第一个卷”, “第二个卷”, “匿名卷”, “宿主机路径:容器内路径”]
EXPOST暴露端口;与-p 参数类似VOLUME [“第一个卷”, “第二个卷”, “匿名卷”, “宿主机路径:容器内路径”]
CMD指定容器启动时候需要运行的命令,会被运行容器时的 命令所取代CMD ["ls", "-a"] 运行镜像docker run 1234hijh ls -al 会将CMD中的命令给替换掉
ENTRYPOINT当构建一个被继承dockerfile,此时就会触发 这个命令
ONBUILD集成dockerfileCMD ["ls", "-a"] docker run 123gjhg -l 会追加到CMD命令最后
ENV设置环境变量

docker网络

容器间的网络

在搭建docker之后就会有 docker0网卡
veth-pair技术 每启动一个容器都会多出来一个对网卡;该网络是由docker分配的(最多可以分配255*255-2个);用户docker容器内外的通信,也可以与docker之间通信;
docker内所有的网络都是虚拟的,虚拟的网络效率更高;

–link 技术

默认的网络

网络模式含义
host和宿主机共享网络
bridge桥接模式(默认模式)
none不配置网络

网络规则

  1. 如果不指定网络会使用默认的bridge作为网络,并通过docker0来分发ip
  2. run命令指定 --network 为容器指定自定义的网络,容器之间可以通过容器名称相互ping通。原理是 host文件配置了容器名称

常用命令

network 命令后续命令含义例子
ls查询当前存在的所有网络docker network ls
inspect查询指定网络的详细信息docker network ls
create查询当前存在的所有网络docker network create -subnet 192.168.0.1/16 网络名称

不同网络的容器互通

使用docker network connect 强行给一个容器连接到另外一个网络上;该容器拥有双网卡

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:42:51  更:2021-07-16 11:44:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 0:55:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码