1.需求

  • 最近需要用到docker比较多,遂安装使用下,第一次用docker搭建测试环境,不得不说,docker真香。期间遇到了比较多奇奇怪怪的问题,网上的教程也比较多比较乱,遂记录一下。
  • 如果不是在kali上安装,例如debian9或10可以参考这个链接:https://www.myfreax.com/how-to-install-and-use-docker-on-debian-9/

2.安装docker

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

echo 'deb https://apt.dockerproject.org/repo debian-stretch main' > /etc/apt/sources.list.d/docker.list

apt-get install apt-transport-https ca-certificates

apt-get update && sudo apt-get install docker-engine
//由于版本变化等各种其他复杂原因,如果安装docker-engine这一步失败的话,建议改为apt-get install docker.io systemctl start docker

3.配置阿里云镜像下载加速

4.如果发现没有docker-compose的话,可以按下面的方式安装

详见:https://github.com/docker/compose/releases

curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
注:用pip安装docker-compose的话貌似会遇到一些奇奇怪怪的问题

5.docker常用指令

  • 启动:systemctl start docker
  • 一键运行docker:docker-compose up -d,运行该命令需要当前目录下有docker-compose.yaml文件,一般支持docker一键部署的github项目下载下来只来会有这个文件。
  • 查看镜像:docker images
  • 查看容器:docker ps -a
  • 停止所有容器运行:docker rm $(docker ps -aq)
  • 删除所有镜像:docker rmi $(docker images -q),删除镜像前需要停止运行的容器
  • 容器重启:docker-compose restart,配置文件、代码修改或者版本更新(从Github拉下最新的代码),不需要重新build,只需要执行docker-compose restart
  • 数据持久化保存:将docker/data/mysql目录挂载到外部目录即可,一般支持一键部署的会将配置写在docker-compose.yaml文件里,自己build的话可以是-v ./docker/data/mysql/:/var/lib/mysql
  • 查看日志:docker-compose logs
  • 移除容器:docker-compose down -v
  • 注:
    • docker bulid和run用于创建单个镜像和容器,Dockerfile文件指定基础信息
    • docker-compose是多容器管理,也就是常说的容器编排,根据docker-compose.yml文件定义容器运行时属性,指明容器间依赖
    • 在实际的生产环境中,多容器的创建和管理使用K8S比较多

6.[补充]docker部署服务的几种方式

  • 1.根据公网上已有的镜像直接pull+run部署,例如某个webserevr
docker search webserevr
docker pull jsda**/webserver
docker run -d -p 80:80 webserver
  • 2.下载github上某个支持docker部署的项目,举一个例子
git clone https://github.com/firesunCN/BlueLotus_XSSReceiver.git
cd BlueLotus_XSSReceiver
docker build -t bluelotus . #.表示从当前路径寻找Dockerfile文件,该文件包含了基础镜像、创建容器后运行的指令、端口等信息
docker images #这个时候可以看到已创建好的bluelotus镜像
docker run -d -p 80:80 bluelotus #指定run bluelotus镜像,以创建容器
访问 http://ip/admin.php 密码 bluelotus
  • 3.使用docker-compose一键部署
git clone https://github.com/***/***.git
docker-compose up -d

kali安装docker以及配置阿里云镜像加速的更多相关文章

  1. ubuntu下Docker配置阿里云镜像加速

    1.确认正确安装好docker,登录阿里云,打开如下界面 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 2.复制下面那段代码, ...

  2. Docker配置阿里云镜像加速pull

    前言:默认Docker拉取镜像是从Docker Hub上拉取,但由于防火墙的原因,导致镜像下载非常慢.为了提高拉取镜像的速度,可以配置阿里镜像或是网易镜像加速,通过使用经验推荐配置阿里镜像. 申请个人 ...

  3. docker在mac下安装及配置阿里云镜像加速

    安装 brew cask install docker 配置 关于阿里云加速地址,下面会有详细说明 阿里云官方镜像加速 官方文档:https://help.aliyun.com/document_de ...

  4. Docker系列(3)- 配置阿里云镜像加速

    step-1 登录阿里云找到容器服务 step-2 找到镜像加速地址 step-3 配置使用 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon ...

  5. docker配置阿里云镜像加速

    一.登录阿里云控制台,并打开镜像加速器页面,复制加速器地址 二.修改daemon配置文件/etc/docker/daemon.json ,将复制的地址按照如下格式写入文件,若存在多行,使用逗号分隔. ...

  6. docker配置阿里云镜像加速地址

    1.注册阿里云用户 2.阿里云控制台首页,开发者工具->开发者中心 3.加入开发者中心,并设置密码. 4.镜像中心->镜像加速器

  7. Docker安装MySQL,Redis,阿里云镜像加速

    Docker安装 虚拟化容器技术.Docker基于镜像,可以秒级启动各种容器.每一种容器都是一个完整的环境,容器之间相互隔离. 如果之前安装的有其他版本,卸载旧的版本. $ sudo yum remo ...

  8. maven安装和配置阿里云镜像(各种详细配置)

    maven安装和详细配置 提示:下面是maven3.6.3版本百度云链接,记住maven3.3以上版本必须安装jdk1.7及以上版本,否则会出错. 链接:https://pan.baidu.com/s ...

  9. Maven(五)之Maven配置阿里云镜像飞快下jar包

    用过Maven的人都知道Maven对于依赖的管理让我们程序员从此远离了自己去在项目中把需要的jar包导入到项目中,但是因为中央仓库是在国外的,所以在我们从中央仓库下载依赖的时候, 我们发现下载速度真的 ...

随机推荐

  1. Ubuntu vimrc 和 bashrc 配置

    先上效果图,把vimrc 和bashrc 备份一下.. vimrc: map <F9> :call SaveInputData()<CR> func! SaveInputDat ...

  2. 基于weui loading插件封装

    <!-- Loading.vue --> <template> <div id="loadingToast" v-if="show" ...

  3. Grafana配置文件

    配置文件位置 /usr/local/opt/grafana/share/grafana/default.ini /usr/local/etc/grafana/grafana.ini 配置文件调用顺序 ...

  4. mangde 的服务启动

    启动命令如下

  5. SpringBoot中定时任务默认是串行执行 如何设置并行

    SpringBoot项目中,定时任务默认是串行执行的,不论启动多少任务,都是一个执行完成,再执行下一个. 如何设置并行呢? @EnableAsync  和@Async 这两个注解来实现 ,具体如下: ...

  6. spring循环依赖是怎么解决的?

    回答:循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleA,则它们最终反映为一个环. Spring如何解决循环依赖? ...

  7. 数位DP 计划

    通常的数位dp可以写成如下形式: [cpp] view plain copy int dfs(int i, int s, bool e) { if (i==-1) return s==target_s ...

  8. windows10操作系统上使用virtualenv虚拟环境

    前提win10上已经安装了Python环境! virtualenv库的使用: 安装 如果win10上同时安装了Python2和python3的安装virtualenv时用; Python2:pip i ...

  9. WindowsForms使用Telerik Reporting

    新建一个WindowsForms窗体项目 然后拖动ReportViewer这个控件到WindowsForms的窗体中 如上图所示,用来呈现报表的控件,这个控件可以打印报表,转换报表这类的功能 接下来我 ...

  10. HTML回顾之表单和列表

    FORM  HTML 表单 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中输入内容,比如:文本域(textarea).下拉列表.单选框(radio-buttons).复选框(checkbo ...