docker 的安装及常用命名

1. 安装 Docker

当前环境为 Debian8
在 Ubuntu 14.04 及以上版本安装 Docker

1.1 方法一:简化版安装 docker

wget -qO- https://get.docker.com/ | sh

1.2 方法二:从 Docker 官方源安装最新版本

  $ sudo apt-get install apt-transport-https
  $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
  $ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
  $ sudo apt-get update
  $ sudo apt-get install -y lxc-docker
  $ sudo apt-get update -y lxc-docker​​

1.3 方法三:docker.io

  $ sudo apt-get update
  $ sudo apt-get install -y docker.io
  $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
  $ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

使用 Ubuntu14.04 系统默认自带 docker.io 安装包安装 Docker,这样安装的Docker 版本相对较旧,并不推荐使用。

2. 镜像

2.1 获取镜像

  $ sudo docker pull NAME[:TAG]

  如 '$ sudo docker pull ubuntu',该命令实际下载的是 ubuntu:lastest 镜像
  此命令相当于 '$ sudo docker pull registry.hub.docker.com/ubuntu:latest' 命令
  即从默认的注册服务器 registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 latest 的镜像

2.2 查看镜像信息

  $ sudo docker images          可以列出本地主机上已有的镜像
  $ sudo docker inspect IMAGEID 可以获取镜像的详细信息

2.3 搜寻镜像

  $ sudo docker search OpenWAF

  默认搜索 Docker Hub官方仓库中的镜像
  支持的参数:
    --autometad=false 仅显示自动创建的镜像
    --no-trunc=false    ​输出信息不截断显示

3. docker-enter

docker run -d 跑起一个容器后,使用 docker-enter 方便进入管理,代码如下:

#!/bin/sh
if [ -e $(dirname "$0")/nsenter ]; then
    # with boot2docker, nsenter is not in the PATH but it is in the same folder
    NSENTER=$(dirname "$0")/nsenter
else
    NSENTER=nsenter
fi
if [ -z "$1" ]; then
    echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
    echo ""
    echo "Enters the Docker CONTAINER and executes the specified COMMAND."
    echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
    PID=$(docker inspect --format "{{.State.Pid}}" "$1")
    if [ -z "$PID" ]; then
         exit 1
    fi
    shift
    OPTS="--target $PID --mount --uts --ipc --net --pid --"
    if [ -z "$1" ]; then
         # No command given.
         # Use su to clear all host environment variables except for TERM,
         # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
         # and start a login shell.
         "$NSENTER" $OPTS su - root
    else
         # Use env to clear all host environment variables.
         "$NSENTER" $OPTS env --ignore-environment -- "$@"
    fi
fi 
  将 docker-enter 放入 /bin/ 目录下
  chmod +x docker-enter
  cp -P docker-enter /bin/

4. docker 常用命令

4.1 docker build

自己经常写 Dockerfile ,常用到 docker build 命令

创建 openwaf 仓库下的 debian8 镜像    
docker build -t openwaf:debian8 .
有时Dockerfile内容无变化,想要重新生成镜像,却不想用 docker 的cache 
docker build --no-cache -t openwaf:debian8 .

4.2 docker rm

删除未运行的容器
docker rm container_id1 container_id2
强制删除容器
docker rm -f container_id1 container_id2
删除所有未运行容器
docker rm $(docker container ls -a -q)

强制删除所有容器
docker rm -f $(docker container ls -a -q)
删除镜像
docker rmi image_id1 image_id2

4.3 docker images

用于查看 docker 镜像仓库

4.4 docker ps

查看运行中容器
docker ps
查看所有容器
docker ps -a
  • elastalert

    前言最近想在 ELK 基础上,临时搭一个告警系统,这里介绍有关 elastalert 的安装及使用。 安装参考官方安装说明: git clone https://github.com/bitsensor/elastalert.git;...

    elastalert
  • ipset

    ipset 安装参考文档(待整理)ipset 官方文档ipset 7.1版本链接使用参考文档 简单的流程可以用这几条命令概括使用 ipset 和 iptables 进行 IP 封禁的流程 ipset create blacklist ...

    ipset
  • 藏独组织“野鸡”的挑衅

    前言2019 年 1 月 12 日,有人以“匿名者”名义通过 YouTube 发布视频,呼吁将于2月13日针对中国部分政府网站进行网络攻击,并于 1 月 16 日在 PastBin 发布 100 个被攻击单位网站列表。 追踪视频明确...

    藏独组织“野鸡”的挑衅
  • 删除非目录文件

    linux 下删除一个目录下所有的隐藏文件和非目录文件 前言在 alpine 基础上编译 OpenWAF,想要达到最简,删除无用文件。 亮点rm -rf `ls -Fa | grep '^\.\w'` -- 删除隐...

    删除非目录文件
  • 在 alpine 上编译 openssl 遇到的问题

    alpine 上编译 openssl (v1.1.1) 遇到 ucontext 报错 前言今天在 alpine 基础上编译 openwaf,编到 openssl 时,报 ucontext 相关错误。 ucontext 报错编译 ope...

    在 alpine 上编译 openssl 遇到的问题
  • 用 hugo 创建自己的博客

    如何用 hugo 搭建自己的博客 前言前两天,hexo 打开了自建博客的道路。今天看到了 hugo,准备研究一下。hugo 是用 go 语言开发的,优势在于编译速度快。如果博客文章达到七八百篇,hexo 可能要几十分钟,但 hugo“...

    用 hugo 创建自己的博客
  • 对于 hexo Annie 主题部分修改

    修改部分 Annie 主题的设置 字体默认字体Annie 默认是繁体字,改为默认是简体字 修改 Annie\source\js\chinese.js 文件的第五行 原文: var zh_choose = 't'; 改为...

    对于 hexo Annie 主题部分修改
  • 批量修改或添加文件后缀名

    前言常见的是对不同文件名进行文件后缀名修改。但今天遇到同一文件名的情况。 常见windows 或 Linux 命令: ren *.jpg *.bmp # 将 jpg 后缀改为 bmp 如:1.jpg 2.txt 改后为:1.bm...

    批量修改或添加文件后缀名
  • 解决背景与文字颜色冲突问题

    解决因背景图颜色,导致文字看不清晰的问题 前言刚刚创建此博客,被随机背景图和散文诗集吸引。但常常因为背景图颜色过浅,导致白色的文字看不清晰。 方法本来想把所有的背景图都换成黑色的。但当我下载了 1500 多张图,准备从中挑出所有的...

    解决背景与文字颜色冲突问题
  • OpenWAF 使用手册

    NameOpenWAF 第一个全方位开源的Web应用防护系统(WAF),更全面的防护功能,更多样的防护策略 Table of Contents Name Version Synopsis Description Installatio...

    OpenWAF 使用手册