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 的镜像是由多个只读文件系统叠加在一起形成的,当我们在启动一个容器的时候,docker会加载这些只读层并在这些只读层的上面(栈顶)增加一个读写层,这是如果修改正在运行的容器中已有的文件,那么这个文件会从只读层复制到读写层。文件中的只读版本还在,只是被上门读写层的该文件副本隐藏,当删除docker 或者重新启动时,之前的更改将会消失。docker中,只读层及在顶部的读写层的组合被称为union file system (联合文件系统)。

  • 为了很好的实现数据保存和数据共享,docker提出了volume概念,就是将绕过默认的联合文件系统,以正常的文件或者目录的形式存在于宿主机上即数据卷

docker数据管理

docker在容器中管理数据主要由两种方式

  • 数据卷
  • 挂载主机目录

数据卷

他是一个可供一个或者是多个容器使用的特殊目录。绕过ufs,可以提供很多有用的特性:数据卷可以在容器之间共享和重用 - 对数据卷的修改会立马生效 - 对数据卷的更新,不会影响镜像 - 数据卷默认会一直存在,即使容器被删除 Docker中提供了两种挂载方式,-v和-mount


[root@localhost ~]# docker volume ls  #查看所有数据卷
DRIVER    VOLUME NAME
[root@localhost ~]# docker volume create mydata  #创建mydata数据卷
mydata
[root@localhost ~]# docker volume inspect mydata  #查看Mydata数据卷的详细
[
    {
        "CreatedAt": "2021-11-29T21:33:25+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/mydata/_data",
        "Name": "mydata",
        "Options": {},
        "Scope": "local"
    }
]
  • 注:Mountpoint为数据在本机存储的位置,如果磁盘存储空间不足可修改此位置

挂载

方式一:

格式:docker run -v 宿主机目录:挂载容器中的目录

#例
docker run -it -v /var/www/html:/data1 --name xiaobai nginx /bin/bash

#这时候另开一个终端,去宿主机创建一个abc
cd /var/www/html
touch abc

#再回到上一个终端查看/data1目录下就会多出一个abc
[root@localhost ~]# docker run -it -v /var/www/html:/data1 --name xiaobai nginx /bin/bash
root@8cf48d86e03c:/# ls
bin    dev                   etc   lib64  opt   run   sys  var
boot   docker-entrypoint.d   home  media  proc  sbin  tmp
data1  docker-entrypoint.sh  lib   mnt    root  srv   usr
root@8cf48d86e03c:/# ls /data/
111
root@8cf48d86e03c:/# etit

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# touch 111
[root@localhost html]# ls
111

数据卷容器

原理:让两个容器实现数据共享

1.创建一个数据卷容器,指定名字为web100,两个卷:/data1 和 /data2
docker run -it --name web100 -v /data1 -v /data2 nginx /bin/bash

2.另起一个终端,将这个数据卷容器挂载到centos:7的容器上
docker run -it --name db1 --volumes-from web100 nginx /bin/bash
#此时 ls / 查看就会发现有 /data1 和 /data2 两个目录

在这里插入图片描述
在这里插入图片描述

容器互联(使用centos镜像)

docker run -itd -P --name web1 centos:7 /bin/bash		//创建并运行容器取名web1,端口号随机映射
docker exec -it 容器ID /bin/bash

#另起一个终端
docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash	//创建并运行容器取名web2,链接到web1和其通信
#--link:打通隧道
docker exec -it 容器ID /bin/bash

#两个容器都下载
yum -y install net-tools	//各自下载ifconfig的工具
验证:
进web2容器 ping web1

在这里插入图片描述

暴露端口

① -p:指定端口

docker run -itd -p 8081:80 nginx:latest /bin/bash	
//暴露端口8081,相当于把容器的80端口映射到宿主机上的8081端口

docker exec -it d144113140b5 /bin/bash -c nginx
//进入这个容器并启动nginx
//-c:在宿主机环境执行容器内命令

在这里插入图片描述
在这里插入图片描述

② -P:随机端口

docker run -itd -P nginx:latest /bin/bash

docker exec -it 12fda7fd0f3c /bin/bash -c nginx

在这里插入图片描述

在这里插入图片描述
在宿主机环境执行容器内命令

docker exec -it 容器ID /bin/bash -c 'nginx'
docker exec 容器ID/容器 name 执行的命令

怎么把宿主机的文件传入到容器内部

docker cp 源文件路径 容器ID:目标文件路径
docker cp /opt/abc 容器ID:/opt/abc

进入容器没有systemctl命令解决方法:

添加--privileged=true(指定此容器是否为特权容器),使用此参数,则不能用attach

docker run -itd --name test02 --privileged=true centos:7 /sbin/init

/sbin/init 内核启动时主动呼叫的第一个进程

#可以使用docker inspect 容器ID

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 16:01:27  更:2021-11-30 16:03:23 
 
开发: 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/16 3:26:03-

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