最近搭建了vulhub靶场(ubuntu+docker+Vulhub),突然感觉docker如此好用,于是专门看了一些docker,做一下笔记
本文参考了菜鸟教程docker教程和docker国内镜像加速
Docker 是一个开源的应用容器引擎,基于Go语言。学习Docker需要先掌握linux的基本命令。
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
快速,轻便,可移植性强
镜像,容器,仓库
菜鸟教程上理解的方法是用面向对象的思想,相当于类和实例,镜像是静态的定义,容器是运行时的实体。
个人理解就是,就像在windows下安装虚拟机一样,docker中的镜像相当于win下的IOS镜像文件,容器相当于实际安装好的虚拟机,可以用一个ios镜像安装几个虚拟机,并且不同虚拟机里的东西不一样。
Docker Registry,用来保存镜像,可以理解为代码控制中的代码仓库。
一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。
安装卸载
俺主要在ubuntu上用
一条命令自动安装,简单易操作
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 或者 curl -sSL https://get.daocloud.io/docker | sh
sudo apt-get remove docker docker-engine docker.io containerd runc
Docker镜像加速
Linux下
默认没有,所以新建/etc/docker/daemon.json文件
写入内容:
{ "registry-mirrors": [ "https://ung2thfc.mirror.aliyuncs.com ", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] }
然后执行命令
systemctl demon-reload systemctl restart docker
Windows下
Settings -> Docker Engine
如下:
{ "registry-mirrors": ["https://ung2thfc.mirror.aliyuncs.com "], "insecure-registries": [], "debug": false, "experimental": false, "features": { "buildkit": true } }
开始使用
按照传统,先来个Hello World!
docker run ubuntu echo "Hello World!"
搜索镜像,拉取镜像
docker search tomcat docker pull tomcat 只是拉取镜像 docker run 会拉取镜像并生成容器
容器操作
docker ps docker ps -a 查看运行中的容器 docker rm xxx 删除容器
操作镜像
docker images 查看所有镜像 docker rmi xxx 删除镜像(提前删除容器)
进入容器
docker run ubuntu bash docker exec -it xx bash
原文链接:https://blog.csdn.net/RMC131/article/details/127039161?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836880416800211523478%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836880416800211523478&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-26-127039161-null-null.nonecase&utm_term=%E5%A5%BD%E7%94%A8%E7%9A%84docker