【docker简略学习】
【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 dockerDocker的其他镜像:
Azure中国镜像站:https://dockerhub.azk8s.cn
阿里云:https://<your_code>.mirror.aliyuncs.com //需要登录阿里云,code跟用户有关
容器和镜像的区别
镜像:类似软件的安装包,
容器:软件安装后的状态,一个镜像安装完成后的运行环境都是独立隔离的,所以称为容器。
二、运行一个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命令启动整个应用程序
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实操见下面使用vulhub搭建靶场环境
四、使用Vulhub搭建靶场环境
安装vulhub
#安装命令
git clone https://github.com/vulhub/vulhub.git
搭建CVE-2018-2894
cd进入安装好的目录
cd vulhub
cd weblogic
cd CVE-2018-2894
使用docker-compose up命令进行搭建

本机访问:

搭建成功,非常轻松。
要想移除环境执行:docker-compose down指令。
【docker简略学习】的更多相关文章
- 在Windows环境中开始Docker的学习和体验
研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...
- Docker容器学习梳理 - 应用程序容器环境部署
关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ...
- Docker容器学习梳理 - 日常操作总结
使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...
- docker深入学习
docker深入学习 一.容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+D ...
- 服务器搭建远程docker深度学习环境
服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...
- Docker命令学习
今天更换腾讯云系统的时候发现了多了个CoreOS,据说是专门运行docker的轻量系统,顺便学习一下docker命令. 1. docker version 显示 Docker 版本信息. 2. doc ...
- 有关docker的学习链接
本文是自己搜索的比较好的网上资源,便于有兴趣者查阅. 英文官网 https://docs.docker.com/engine/getstarted/ 中文入门手册 http://www.docker. ...
- Docker个人学习总结
最近一段时间学习了下Docker,关于Docker的安装,运用什么的在这里我不会过多的说明,我只说我对于Docker的一些理解,附加我用于记录的少量代码. 刚开始学习Docker的时候,找资料在网上看 ...
- Docker技术学习
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1598249 貌似Doc ...
- Docker入门学习
Python爬虫 最近断断续续的写了几篇Python的学习心得,由于有开发经验的同学来说上手还是比较容易,而且Python提供了强大的第三方库,做一个小的示例程序还是比较简单,这不我之前就是针对Pyt ...
随机推荐
- 盘点!国内隐私计算学者在 USENIX Security 2023 顶会上的成果
USENIX Security 是国际公认的网络安全与隐私计算领域的四大顶级学术会议之一.CCF(中国计算机学会) 推荐的 A 类会议. 每年的 USENIX Security 研讨会都会汇集大量研究 ...
- 多光源渲染方案 - Many Lights Sampling
目录 Importance Sampling(IS) Light BVH [2018~2019] 预构建 BVH 重建 BVH 基于 BVH node 的 IS Real-time Stochasti ...
- 关于ChatGPT与机器时代的展望
关于 ChatGPT 与机器时代的展望 机器人这一概念,最初不是出自计算机科学家或工程师之手,而是来自于捷克的戏剧家卡雷尔·恰佩克(Karl Capek)在 1920 年编排的一出名为"罗森 ...
- ZEGO全新语音聊天室方案,2小时复刻 Clubhouse
真的火了! 新晋带货王马斯克在 Clubhouse"开房"之后,直接让 Clubhouse 爆火出圈,据说,Clubhouse 平台邀请码现在在ebay上已经卖到了快200刀一个. ...
- Hexo博客Next主题valine评论系统邮件提醒
简介 Valine:一款快速.简洁且高效的无后端评论系统. Valine-Admin Github 项目地址,具体教程以 最新版 为准 Valine-Admin项目地址 简介 Valine Admin ...
- 【原创】CPU性能优化小记
CPU性能优化小记 目录 CPU性能优化小记 一.现象 TOP各指标含义 二.分析 启动应用前 启动应用后 采集内核函数的方法 内核采集分析 火焰图分析 三.解决 一.现象 业务线反馈,单板只要一跑我 ...
- Python 学习笔记:基础篇
! https://zhuanlan.zhihu.com/p/644232952 Python 学习笔记:基础篇 承接之前在<[[Python 学习路线图]]>一文中的规划,接下来,我将会 ...
- MySQL——后码锁(Next-Key Block)
众所周知,Mysql的事务隔离级别分为4个,分别是READ-UNCOMMITED,READ-COMMITED,REPEATABLE-READ,SERIALIZABLE,在常规数据库概论中,前三种事务隔 ...
- 要调用API接口获取商品数据,首先需要了解该API的文档和规范
要调用API接口获取商品数据,首先需要了解该API的文档和规范.大多数API都需要使用API密钥进行身份验证,因此您需要先注册API提供商,并从他们那里获取API密钥.以下是一些通用的步骤: 1. ...
- CodeForces 1367F2 Flying Sort (Hard Version)
题意 给一个长度为\(n\)的数组,你可以有两种操作 将某一个数放置在数组开头 将某一个数放置在数组结尾 问最小操作多少次可以得到一个非递减数列 (比\(F1\)难在\(n\)变大,且数组中元素可以有 ...