Docker温故知新

前言

Docker目前用的越来越多,前段时间接到一个项目:使用Docker部署AWD靶场,实际操作起来还是有很多细节的,这里特地总结一下,写给自己看。

Docker安装

这里我只写Ubuntu、Kali/Debian、CentOS下的安装,macOS和Windows平台的安装请自行百度。

Ubuntu/CentOS安装Docker

Ubuntu Linux系统耳熟能详的操作系统。

curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun
curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun
curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun

Kali/Debian安装Docker

Kali是基于Debian封装的,所以两者安装方法大同小异。
Kali Linux安装Docker用网上那个一键安装脚本貌似有点问题,这里单独记录一下,以便自己和其他网友使用:

# 添加Docker PGP密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - # 配置docker apt源 我这里用的国内阿里云的docker下载源 echo 'deb https://mirrors.aliyun.com/docker-ce/linux/debian buster stable'> /etc/apt/sources.list.d/docker.list # 更新apt源 apt update # 如果之前安装了docker的话 这里得卸载旧版本docker apt remove docker docker-engine docker.io # 安装docker apt install docker-ce # 查看版本 docker version
# 添加Docker PGP密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - # 配置docker apt源 我这里用的国内阿里云的docker下载源 echo 'deb https://mirrors.aliyun.com/docker-ce/linux/debian buster stable'> /etc/apt/sources.list.d/docker.list # 更新apt源 apt update # 如果之前安装了docker的话 这里得卸载旧版本docker apt remove docker docker-engine docker.io # 安装docker apt install docker-ce # 查看版本 docker version
# 添加Docker PGP密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - # 配置docker apt源 我这里用的国内阿里云的docker下载源 echo 'deb https://mirrors.aliyun.com/docker-ce/linux/debian buster stable'> /etc/apt/sources.list.d/docker.list # 更新apt源 apt update # 如果之前安装了docker的话 这里得卸载旧版本docker apt remove docker docker-engine docker.io # 安装docker apt install docker-ce # 查看版本 docker version

开机自启

sudo systemctl enable docker sudo systemctl start docker
sudo systemctl enable docker sudo systemctl start docker
sudo systemctl enable docker sudo systemctl start docker

Docke优化

Docker国内加速器

不替换源对话,docker pull 拉去镜像对速度实在太龟速了,如果你很佛系对话可以不进行更换

# 编辑这个文件,如果没有对话就创建这个文件 vim /etc/docker/daemon.json
# 编辑这个文件,如果没有对话就创建这个文件 vim /etc/docker/daemon.json
# 编辑这个文件,如果没有对话就创建这个文件 vim /etc/docker/daemon.json

内容如下:

{ "registry-mirrors": [ "http://hub-mirror.c.163.com" ] }
{ "registry-mirrors": [ "http://hub-mirror.c.163.com" ] }
{ "registry-mirrors": [ "http://hub-mirror.c.163.com" ] }

这里我使用对是国内163网易源,其他源可以自行百度替换。
配置完成后重启服务才可以生效:

sudo systemctl daemon-reload sudo systemctl restart docker
sudo systemctl daemon-reload sudo systemctl restart docker
sudo systemctl daemon-reload sudo systemctl restart docker

Docker Portainer

Portainer是Docker一款可视化管理用具,用起来更加容易上手,部署的话也十分简单。

# 拉取镜像 docker pull portainer/portainer # 一键部署 docker volume create portainer_data docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
# 拉取镜像 docker pull portainer/portainer # 一键部署 docker volume create portainer_data docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
# 拉取镜像 docker pull portainer/portainer # 一键部署 docker volume create portainer_data docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

浏览器访问本地的9000端口即可进入到设置密码界面:
Docker温故知新-小绿草信息安全实验室
设置一个密码,即可进入系统:
Docker温故知新-小绿草信息安全实验室
这里选择管理本地Docker的选项,点击就可以看到比较容易理解的Docker管理即界面了。

Docker基础命令

搜索镜像

docker search 关键词
docker search 关键词
docker search 关键词

下载镜像

docker pull 镜像名
docker pull 镜像名
docker pull 镜像名

查看已下载的镜像列表

docker image ls
docker image ls
docker image ls

创建并使用容器

docker run -it --name 容器名 镜像名/镜像ID /bin/bash
docker run -it --name 容器名 镜像名/镜像ID /bin/bash
docker run -it --name 容器名 镜像名/镜像ID /bin/bash

查看当前容器

docker ps -a
docker ps -a
docker ps -a

统计信息

docker stats
docker stats
docker stats

启动容器

docker start 容器名/容器ID
docker start 容器名/容器ID
docker start 容器名/容器ID

重启容器

docker restart 容器名/容器ID
docker restart 容器名/容器ID
docker restart 容器名/容器ID

终止容器

docker stop 容器名/容器ID
docker stop 容器名/容器ID
docker stop 容器名/容器ID

连接容器

docker exec -it 容器名/容器ID /bin/bash
docker exec -it 容器名/容器ID /bin/bash
docker exec -it 容器名/容器ID /bin/bash

删除容器

docker rm 容器名/容器ID
docker rm 容器名/容器ID
docker rm 容器名/容器ID

删除镜像

docker rmi 镜像名/容器ID
docker rmi 镜像名/容器ID
docker rmi 镜像名/容器ID

端口映射

部署一个容器,并将80端口映射到宿主机的8000端口上

# 可以使用--name自定义部署的容器名 docker run -d -p 8000:80 --name 容器名 镜像名 # 也可以直接通过镜像部署 docker run -d -p 8000:80 镜像名
# 可以使用--name自定义部署的容器名 docker run -d -p 8000:80 --name 容器名 镜像名 # 也可以直接通过镜像部署 docker run -d -p 8000:80 镜像名
# 可以使用--name自定义部署的容器名 docker run -d -p 8000:80 --name 容器名 镜像名 # 也可以直接通过镜像部署 docker run -d -p 8000:80 镜像名

dockerfile部署镜像

docker build -t 自定义镜像名称 .
docker build -t 自定义镜像名称 .
docker build -t 自定义镜像名称 .

docker-compose部署

docker-compose up -d
docker-compose up -d
docker-compose up -d

Docker compose

docker compose 神器,国内的vulhubs靶场就是用的docker compose规范,所以这里有必要安装一下。
首先来查看最新版本https://github.com/docker/compose/releases

我写这篇文章的时候目前是1.25.0-rc2版本,具体根据新版本的变化自行调整下面命令来安装:

# 下载docker-compose curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 给docker-compose执行权限 chmod +x /usr/local/bin/docker-compose # 查看docker compose版本 root@kali-linux:~# docker-compose version docker-compose version 1.25.0-rc2, build 661ac20e docker-py version: 4.0.1 CPython version: 3.7.4 OpenSSL version: OpenSSL 1.1.0k 28 May 2019
# 下载docker-compose curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 给docker-compose执行权限 chmod +x /usr/local/bin/docker-compose # 查看docker compose版本 root@kali-linux:~# docker-compose version docker-compose version 1.25.0-rc2, build 661ac20e docker-py version: 4.0.1 CPython version: 3.7.4 OpenSSL version: OpenSSL 1.1.0k 28 May 2019
# 下载docker-compose curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 给docker-compose执行权限 chmod +x /usr/local/bin/docker-compose # 查看docker compose版本 root@kali-linux:~# docker-compose version docker-compose version 1.25.0-rc2, build 661ac20e docker-py version: 4.0.1 CPython version: 3.7.4 OpenSSL version: OpenSSL 1.1.0k 28 May 2019

原文链接:https://ctf.njupt.edu.cn/archives/86?replytocom=10

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享