网络安全 Day31-运维安全项目-容器架构下

这篇具有很好参考价值的文章主要介绍了网络安全 Day31-运维安全项目-容器架构下。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

6. Dockerfile

6.1 Docker自动化DIY镜像之Dockerfile

  • 通过上个案例(手动创建镜像)发现很麻烦所以用dockerfile自动化创建镜像
  • 这里我们就可以使用Dockerfile文件方法把定义镜像的流程,根据Dockerfile指令指定,最终生成我们想要的自定义镜像
  • 目标:
    • 1️⃣会使用Dockerfile
    • 2️⃣掌握如何书写Dockerfile
  • 任务要求:通过Dockerfile一键创建小鸟飞飞的镜像。

1) 环境准备

  1. 创建目录:mkdir -p /server/dockerfiles/01-bird
  2. 上传文件:上传bird.zip到linux(/root/即可)
  3. 解压:unzip bird.zip
  4. 复制文件到目录中:cp -a bird /server/dockerfiles/01-bird

2) 书写Dockerfile内容

  • 梳理自定义bird镜像的流程(对镜像的操作)
自定义镜像流程 步骤 Dockerfile指令
1️⃣ 选择基础镜像 nginx:1.24 FROM nginx:1.24
2️⃣ 把bird代码传输到
/usr/share/nginx/html/目录下。
通过Dockerfile处理的
文件或目录放在Dockerfile所在目录。
ADD bird/ /usr/share/nginx/html/
ADD 宿主机目录或文件 镜像目录
3️⃣ 完成 CMD指令
  • Dockerfile
    #1. Dockerfile所在目录结构
    
    drwxr-xr-x 3 root root  98 1116 2021 bird        #Dockerfile需要的bird目录
    -rw-r--r-- 1 root root 239 814 09:31 Dockerfile #Dockerfile文件
    
    #2. 编辑Dockerfile
    vim Dockerfile 
    #指定基础镜像
    FROM nginx:1.24 
    
    #镜像的说明信息
    LABEL author=lidao996 url=www.oldboyedu.com
    
    #传输内容
    ADD bird/   /usr/share/nginx/html/
    
    #指定容器入口指令
    #用于启动ngx服务
    CMD ["nginx","-g","daemon off;"]
    

3) 运行Dockerfile生成镜像

  • 进入Dockerfile所在目录:cd /server/dockerfiles/01-bird/
  • 生成镜像命令:docker build -t oldboydir:lidao996_bird_diy_v2 .
    • -t tag标签,用于指定新镜像的分类:名字_版本
    • . 指定Dockerfile就在当前目录

4) 运行容器

  1. 根据新的镜像启动容器:docker run -d -p 12306:80 --name bird_diy_v2 oldboydir:lidao996_bird_diy_v2
  2. 检查容器运行情况:docker ps |grep bird_diy_v2
  3. 浏览器检查:登录10.0.0.62:12306

5) 小结

  • Dockerfile作用与指令。
  • 一般根据手动的步骤,把步骤转行为Dockerfile.
  • 开头部分
    • FROM
    • LABEL
  • 中间过程
    • ADD/COPY
  • 结尾部分
    • CMD

6.2 案例14:Dockerfile-RUN指令

  • 创建一个nginx自定义镜像,镜像首页文件内容要是oldboyedu.com.
  • echo命令修改文件内容。echo oldboyedu.com >/usr/share/nginx/html/index.html
  • 创建自定义镜像的时候执行Linux命令。

1) 书写Dockerfile

mkdir -p /server/dockerfiles/02-ngx
cd /server/dockerfiles/02-ngx

vim Dockerfile 
FROM nginx:1.24
LABEL author=lidao996  url=www.oldboyedu.com 

RUN echo oldboyedu.com >/usr/share/nginx/html/index.html

CMD ["nginx","-g","daemon off;"]

2) 构建镜像

docker build -t oldboydiy:test_v2  .

3) 启动容器

docker run -d -p  10086:80 oldboydiy:test_v2

4) 测试结果

网络安全 Day31-运维安全项目-容器架构下,老男孩网络安全18期,运维,容器

6.3 Dockerfile指令

Dockerfile指令 含义 应用 建议
Dockerfile开头部分
FROM 指定基本镜像类似于docker pull下载镜像 FROM ubuntu:20.04 尽量少写ubuntu或ubuntu:latest,尽量指定具体的版本.
LABEL 用于指定容器的属性信息,作者,个人联系方式(邮件)… LABEL maintainer=“lidao996 youjiu_linux@qq.com” 推荐使用LABEL,不推荐使用下面的MAINTAINER
ENV 用于创建Dockerfile中使用的变量 ENV Tengine_Version空格2.3.3 软件版本可以创建使用变量.
Dockerfile中间处理部分
RUN 制作镜像过程中需要的执行命令,通常系统配置,服务配置,部署。
但不能出现阻塞当前终端的命令。
RUN 系统命令即可. 不建议使用连续多个RUN,合并连续多个RUN.
ADD 可以把指定文件或目录拷贝到容器中(指定目录),会解压压缩包.
相对于当前目录.
ADD restart.tar.gz空格/app/code/restart/ 拷贝压缩包使用.
COPY 可以把指定文件或目录拷贝到容器中(指定目录),不支持自动解压.
相对于当前目录.
COPY nginx.conf空格 /etc/nginx/nginx.conf 拷贝文件或目录.
Dockerfile结尾部分书写的内容
CMD 用于指定容器的入口命令.入口命令可以在docker run的时候替换.==运行镜像启动容器的时候,容器默认运行的命令是什么. CMD [“命令”,“参数01”,“参数02”]
CMD [“nginx”,“-g”,“daemon off;”]
大部分都会使用CMD.

7. 容器数据持久化

1)演示:

a)启动数据库容器

docker run  -d -p 13306:3306   --name mysql_8.0_v3   -e  MYSQL_ROOT_PASSWORD=1    mysql:8.0-debian 

b)连接容器创建库

  • 进入到数据库创建数据库

c)删除容器,重新创建容器检查数据是否还在?

  • 数据丢失

2)数据持久化

  • 把容器中的文件或目录连接到宿主机中。
  • 把宿主机的/server/data/mysql/目录连接到容器中/var/lib/mysql/
  1. 准备宿主机的数据目录:mkdir -p /server/data/mysql/
  2. 使用-v参数连接宿主机与容器(-v 宿主机的目录或文件:容器中的目录或文件,把宿主机中的目录或文件挂载(连接)到容器中。)
    docker run  -d -p 13306:3306   --name mysql_8.0_v3   -e  MYSQL_ROOT_PASSWORD=1  \
    -v  /server/data/mysql/:/var/lib/mysql/  mysql:8.0-debian 
    
  3. 检查结果:/server/data/mysql/下增加了很多文件
  4. 进入容器创建库:docker exec -it mysql_8.0_v3 mysql -uroot -p1 #这样可以直接进入数据库
  5. 创建库:create database lidao996;
  6. 退出然后删除容器:docer rm -f mysql_8.0_v3
  7. 重新创建容器并检查库是否还在
docker run  -d -p 13306:3306   --name mysql_8.0_v3   -e  MYSQL_ROOT_PASSWORD=1  \
-v  /server/data/mysql/:/var/lib/mysql/  mysql:8.0-debian 

docker exec -it  mysql_8.0_v3  mysql -uroot -p1  #这样可以直接进入数据库
show databases;  #数据库还在

3)小结:

  • 理解什么是容器的数据持久化即可。为何要做持久化。
  • docker run 加上-v选项
  • 应用数据库数据目录做做持久化。
  • 用于测试代码:nginx /usr/share/nginx/html/连接到宿主机的代码目录。
  • 用于测试配置:nginx.conf ,my.cnf 配置文件。

8. 容器镜像的私有仓库

  • registry仓库(简单,命令行),harbor仓库(复杂,web界面)。

1) 拉取registry镜像与修改配置文件

  1. 拉镜像:docker pull registry
  2. 修改所有docker配置文件
    cat >  /etc/docker/daemon.json<<'EOF'
    {
      "registry-mirrors": ["https://bjjtv7cs.mirror.aliyuncs.com"],
      "insecure-registries": ["10.0.0.62:5000"]
    }
    EOF
    systemctl restart docker
    

2)启动镜像仓库

mkdir -p /server/data/images/
docker run -d  --name "oldboy_registry"   -p 5000:5000 \
-v /server/data/images/:/var/lib/registry  \
--restart=always registry

3) 上传镜像到私有的镜像仓库

docker tag  oldboydir:lidao996_bird_diy_v2     10.0.0.62:5000/oldboyedu/ngx:bird_diy_v2
#docker login -u用户名 -p密码
docker push 10.0.0.62:5000/oldboyedu/ngx:bird_diy_v2 

4) 删除本地镜像

docker rmi 镜像名字
如果镜像使用中则需要删除镜像对应的容器,然后删除镜像。

5) 重新拉取

docker pull 10.0.0.62:5000/oldboyedu/ngx:bird_diy_v2

6)小结

  • 未来使用内部私有镜像仓库。

    • 会通过docker tag +docker push 上传。

    • 会通过docker pull 下载即可。文章来源地址https://www.toymoban.com/news/detail-648260.html

到了这里,关于网络安全 Day31-运维安全项目-容器架构下的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全运维-安全加固篇

    vsftpd禁用匿名用户 设置不允许通过root账户进行ssh登录系统 MYSQL关闭TCP/IP远程连接 开启SYN Cookie内核参数 数据库安全加固 linux 安全限制 vi /etc/profile 新加入:TMOUT=600  //600秒无操作,自动退出  [root@station90 桌面]# awk -F : \\\'($2==\\\"\\\") {print $1}\\\' /etc/shadow //检查空口令帐号 zhang3 [root@st

    2024年02月10日
    浏览(43)
  • 网络安全运维-应急响应篇

    1.1 /tmp 目录 此目录下,任可用户均可读写,因此应关注此目录内容 1.2.1 /etc/init.d 系统服务目录 /etc/init.d/apache2 status #查看服务状态 apache2.service - The Apache HTTP Server      Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)      Active: inactive (dead)        Doc

    2024年02月09日
    浏览(47)
  • 卷运维不如卷网络安全

    最近发现很多从事运维的选择了辞职,重新规划自己的职业发展方向。运维工程师这个岗位在IT行业里面确实是处于最底层的,不管什么环节出现问题,基本都是运维背锅。背锅也就罢了,薪资水平也比不上别的岗位。 一般运维的薪资水平大多数都是6-9K,还要高频出差。规模

    2024年02月07日
    浏览(37)
  • 网络安全运维-数字取证篇

    Volatility使用 使用工具: Autopsy 、 Volatility 、 Wireshark 这部分可分为数据分析与取证、内存取证两块内容 wireshark基本操作 过滤器使用 ip.src == x.x.x.x 选择源ip为x.x.x.x的数据包 tcp.port == xx 选择源或目标端口为xx的TCP 数据包 http contains XXX 选择内容含有XXX的http数据包 使用现有数据

    2024年02月09日
    浏览(46)
  • 什么是网络安全、信息安全、计算机安全,有何区别?_网络与信息安全包含 建设安全 运维安全

    这三个概念都存在,一般人可能会混为一谈。 究竟它们之间是什么关系? 并列?交叉? 可能从广义上来说它们都可以用来表示安全security这样一个笼统的概念。 但如果从狭义上理解,它们应该是有区别的,区别在哪呢? 我的理解计算机安全主要指单机(非网络环境下)的安

    2024年04月23日
    浏览(45)
  • Day1--什么是网络安全?网络安全常用术语

    目录 1. 什么是网络安全? 信息系统(Information System) 信息系统安全三要素(CIA) 网络空间安全管理流程 网络安全管理 2. 网络安全的常用术语 3. 网络安全形势 4. 中国网络安全产业现状         网络空间安全包括了国家安全、城市安全、经济安全、社会安全、生产安全、人

    2024年04月25日
    浏览(43)
  • 运维学网络安全还是云计算好?哪个更有前景?

    最近很多小伙伴们都在问,运维学网络安全还是云计算好?哪个更有前景?今天我们小编就跟大家来一起聊聊。 运维学网络安全还是云计算好?哪个更有前景? 首先,我们需要知道一点的是,网络安全和云计算都是比较重要的领域,在工业互联网时代,网络安全和云计算也

    2024年02月16日
    浏览(70)
  • NISP-SO网络安全运维工程师

    NISP-SO网络安全运维工程师-学生就业版,助您直通就业岗位: 零基础入门,理论与实战结合,4个月专业实训平台学习,快速掌握运维实战技能; 推荐护网与就业,轻松入职高薪运维岗。专业就业全涵盖,为惠顾更多有志网安领域的广大学子,特别推出原价12800元现价8980元的

    2024年02月09日
    浏览(36)
  • 网络安全笔记-day6,NTFS安全权限

    FAT 优点:应用广泛,基本主流系统都支持 缺点:安全性低,支持单个文件大小太小 NTFS 优点:安全性高,速度快,支持大文件,磁盘利用率高 缺点:“日志式“文件系统,会对U盘,Flash等闪存介质造成更大负担 EXT 可以参考以下文章⬇ 磁盘文件系统Fat、Fat32、NTFS、exFAT的优

    2024年04月09日
    浏览(36)
  • 网络安全实训Day22

    网络空间安全实训-渗透测试 定义:跨站伪造请求攻击 攻击者透过诱骗受害者点击攻击者提前构造的恶意链接,从而以受害者的身份向网站服务器发起请求,达到攻击的目的 1.搭建创建管理员账号的站点 1.将对方网站创建管理员账户的源代码复制并修改后,创建本机的页面

    2024年04月27日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包