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. hdu6599 I Love Palindrome String

    由样例可知,题目中求的回文串数量,其实是本质不同的回文串数量,这个可以直接用回文树来做. 考虑前半段是回文串这个限制,这个东西回文树不好做,可以再套一个马拉车,然后记录一下插入到回文树的节点中最后一个 ...

  2. Delphi XE2 之 FireMonkey 入门(32) - 数据绑定: TBindingsList: TBindList、TBindPosition [未完成...]

    Delphi XE2 之 FireMonkey 入门(32) - 数据绑定: TBindingsList: TBindList.TBindPosition [未完成...] //待补...

  3. 数据库之SQL语句查询基础

    人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想. 人没有梦想是荒废的,是漫无目的的,拥有梦想你会飞的更远. 下面我就来为大家介绍一下SQL语句的查询基础,以下使用MySchool数据 ...

  4. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_2 Mybatis中编写dao实现类的使用-保存操作

    再完善.saveUser的方法 测试保存的操作 报错了 SqlSession的insert的源码 我们在执行Insert的时候,并没有把user对象传过去 usersex改成sex 再次测试

  5. HTTP学习记录:一、协议基础

    学习资源主要为:@小坦克HTTP相关博客 1.HTTP简介: HTTP协议是Hyper Text Transfer Portocol(超文本传输协议)的缩写,它是一种通信协议,允许将超文本(即:htm ...

  6. ubuntu 16.04 配置ssl

    Let's Encrypt 的服务相信很多人都知道了,我个人认为这是最好的免费 SSL 服务.下面内容即使如何在自己的网站上使用 Let's Encrypt 实现 SSL. 前提条件 自己拥有一个域名 ...

  7. mysql安装及相关配置

    安装下载 第一种 安装mysql安装包 //www.jb51.net/softs/451120.html 保存root密码 打开系统偏好设置,start mysql server #配置mysql e ...

  8. 【MM系列】SAP MM模块-货物移动对标准价的影响

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-货物移动对标准价的 ...

  9. 虚拟机三种网络模式及Xshell与Centos7虚拟机连接

    一.虚拟机的三种网络模式 1.桥接模式 a.该模式下的虚拟机可以上外网 b. 局域网之内的主机可以访问该虚拟机(做共享服务器使用) c. 该虚拟机可以和宿主机进行通信 d. 同一台主机相同模式下的虚拟 ...

  10. 【Qt开发】【VS开发】VS2010+Qt开发环境搭建

    QT与JAVA有点类似,也是一种跨平台的软件(当然在windows平台和linux平台需要安装相应的QT开发环境和运行库,类似于JAVA在不同平台下的虚拟机JVM环境),因此对于某些需要同时支持win ...