【docker简略学习】

Docker是一个应用打包、分发、部署工具,相当于一个轻量级虚拟机。相比较VM虚拟机,可移植性更强。

一、Docker安装

  • 下载链接:https://docs.docker.com/engine/install/#server

     #卸载旧版本
    sudo apt-get remove docker docker-engine docker.io containerd runc #直接使用官方的ubuntu安装脚本:
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • 测试安装成功:

    Docker首先查看本地中有没有该镜像,如果不存在则会到镜像仓库Docker Hub中下载。

  • 更换镜像加速,使用的Docker中国官方镜像站

    sudo mkdir -p /etc/docker
    
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://registry.docker-cn.com"]
    }
    EOF sudo systemctl daemon-reload sudo systemctl restart docker

    Docker的其他镜像:

  • 容器和镜像的区别

    • 镜像:类似软件的安装包,

    • 容器:软件安装后的状态,一个镜像安装完成后的运行环境都是独立隔离的,所以称为容器。

二、运行一个Docker容器

  • 查看创建的镜像:

     #查看本机镜像:
    root@ubuntu-z:~# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    hello-world latest feb5d9fea6a5 12 months ago 13.3kB REPOSITORY 镜像的仓库源
    TAG 镜像的标签
    IMAGE ID 镜像id
    CREATED 镜像创建的时间
    SIZE 镜像大小
  • 运行ubuntu镜像:

    run后跟镜像名称,运行后,在启动的容器中执行命令 /bin/echo "Hello World"
  • 与ubuntu容器进行交互

    -i表示与容器的输入进行交互
    -t表示在容器中指定一个终端(两个参数可以合写在一起—it)
    下面可见进入了ubuntu 15.0的shell

    输入exit或者ctrl+D可以退出命令行

  • **-d参数后台运行容器 **

  • 查看容器

  • docker -stop停止容器

  • docker attach 和 docker exec

    都用于运行处于后台的容器,但是attach在退出后会导致容器关闭:

    exec后面要加容器启动的命令,ps中command那一列

  • Docker的导出和导入

    导出:docker export 8ce0c7896560 > ubuntu.tar (导出容器快照)
    导入:cat docker/ubuntu.tar | docker import - test/ubuntu:v1
    指定url导入:docker import http://example.com/exampleimage.tgz example/imagerepo
  • 容器的的删除

    docker rm -f 1e560fca3906

三、Docker Compose

用于集成多种服务,运行多容器Docker:

步骤如下:

  • 使用Dockerfile定义应用程序的环境
  • 使用docker-compose.yml定义构成应用程序的服务,yml文件中包含了运行程序的一些配置
  • 使用docker-compose up命令启动整个应用程序
  1. linux下安装docker compose

    #安装命令:
    sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose #为该文件赋予执行权限
    chmod +x /usr/local/bin/docker-compose #创建软链接
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose #测试安装是否成功
    docker-compose version
  2. 实操见下面使用vulhub搭建靶场环境

四、使用Vulhub搭建靶场环境

  1. 安装vulhub

    #安装命令
    git clone https://github.com/vulhub/vulhub.git
  2. 搭建CVE-2018-2894

    • cd进入安装好的目录

      cd vulhub
      cd weblogic
      cd CVE-2018-2894
    • 使用docker-compose up命令进行搭建

    • 本机访问:

      搭建成功,非常轻松。

      要想移除环境执行:docker-compose down指令。

【docker简略学习】的更多相关文章

  1. 在Windows环境中开始Docker的学习和体验

    研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...

  2. Docker容器学习梳理 - 应用程序容器环境部署

    关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ...

  3. Docker容器学习梳理 - 日常操作总结

    使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...

  4. docker深入学习

    docker深入学习 一.容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+D ...

  5. 服务器搭建远程docker深度学习环境

    服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...

  6. Docker命令学习

    今天更换腾讯云系统的时候发现了多了个CoreOS,据说是专门运行docker的轻量系统,顺便学习一下docker命令. 1. docker version 显示 Docker 版本信息. 2. doc ...

  7. 有关docker的学习链接

    本文是自己搜索的比较好的网上资源,便于有兴趣者查阅. 英文官网 https://docs.docker.com/engine/getstarted/ 中文入门手册 http://www.docker. ...

  8. Docker个人学习总结

    最近一段时间学习了下Docker,关于Docker的安装,运用什么的在这里我不会过多的说明,我只说我对于Docker的一些理解,附加我用于记录的少量代码. 刚开始学习Docker的时候,找资料在网上看 ...

  9. Docker技术学习

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1598249 貌似Doc ...

  10. Docker入门学习

    Python爬虫 最近断断续续的写了几篇Python的学习心得,由于有开发经验的同学来说上手还是比较容易,而且Python提供了强大的第三方库,做一个小的示例程序还是比较简单,这不我之前就是针对Pyt ...

随机推荐

  1. Ubuntu系统字体命令和字体的安装

    本人使用的是Windows 10下的WSL,Linux版本是Ubuntu18.04,系统原始是没有安装任何字体的,mkfontscale.mkfontdir和fc-cache命令也是不存在的,直接运行 ...

  2. fiddler抓包手机和部分app无法连接网络问题

    前言: 最近公司在做app项目,测试环境app包没有调试模式,导致测试过程中无法查看请求接口和请求的参数,故需要通过抓包工具抓包 一)fiddler安装配置 1.下载安装fiddler,这里不说明了, ...

  3. 使用Stable Diffusion生成艺术二维码

    在数字艺术的世界中,二维码已经从单纯的信息承载工具转变为可以展示艺术表达的媒介.这是通过使用Stable Diffusion的技术实现的,它可以将任何二维码转化为独特的艺术作品.接下来,我们将一步步教 ...

  4. 一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路

    市面上有很多可以被用于AI绘画的应用,例如DALL-E.Midjourney.NovelAI等,他们的大部分都依托云端服务器运行,一部分还需要支付会员费用来购买更多出图的额度.在2022年8月,一款叫 ...

  5. 【RabbitMQ】当队列中消息数量超过最大长度的淘汰策略

    [RabbitMQ]当队列中消息数量超过最大长度的淘汰策略 说明 最近在研究RabbitMQ如何实现延时队列时发现消息进入死信队列的情况之一就是当消息数量超过队列设置的最大长度时会被丢入死信队列,看到 ...

  6. PaddleSharp:跨越一年的版本更新与亮点

    PaddleSharp:跨越一年的版本更新与亮点 我始终坚信,开源社区是技术进步的重要推动力,也是我抽出我业余时间,投入到PaddleSharp这个项目的原因,这个项目充分展现了.NET在复杂计算领域 ...

  7. 基础版本:用KNN算法实现预测facebook签到位置模型的训练(内含数据集下载)

    实现模型的训练一般的流程便是 # 导包 # 导入数据 # 数据处理 # 特征工程 # KNN算法预估流程 # 模型评估 接下来便实现以上流程 实现该模型训练我们需要导入一下的函数 1 # 导包 2 3 ...

  8. CF1855B Longest Divisors Interval 题解

    题意: 给定一个数 \(n\),求一个连续区间 \([l,r]\) 使得 \(n\) 是区间内每个数的倍数,最大化这个区间的长度(多组数据). 思路: 逆向思考一波,( 如果一个数 \(x\) 不是 ...

  9. rman catalog 遇到的一个错误

    [oracle@source admin]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jun 22 09: ...

  10. ABC274 题解

    A 题目:给定 \(A,B\) 输出 \({B}\over{A}\) 保留 \(3\) 位小数. 简答题,和A+B problem 一样,除一除,保留一下小数. B 题目:给定一个 \(n\) 行 \ ...