/ 笔记  

Docker小试牛刀

前言

第一次接触docker是一年前的国赛,我和小伙伴们费尽九牛二虎之力打进了线下赛,线下总决赛要求选手自己制作靶场环境,使用docker部署,向大赛主办方提供docker file和功能一键check脚本,也就是从那时起,我接触到了docker这个神奇的东西。这次专门学习docker也是因为要部署一个CTFd平台,手动操作实在麻烦,于是就想起了docker的一键部署,所以就有了这篇水文。

什么是docker?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

简单来说,docker提供了一个极为自动化的解决方案,以帮助用户一键运行服务而不需要进行任何额外的操作。

一些经常用到的东西

安装docker

sudo apt install docker.io

基本操作

命令 说明
docker version 查看docker版本
docker ps 列出正在运行的docker容器
docker ps -a 列出所有的docker容器
docker pull image_name 拉取镜像
docker rm ID 删除docker容器
docker rmi image_name 删除docker镜像
docker start/stop/restart ID 启动、停止、重启某个容器
docker exec -it ID /bin/bash 打开容器的终端

如何在容器与本地之间 copy 文件?

从容器到本地:

docker cp :/path_in_docker /path_in_server

从本地到容器:

docker cp /path_in_server :/path_in_docker

更换docker源为国内源

鉴于国内特殊的网络状况,docker官方源的下载速度简直可以用龟速来形容。所以我这里选择使用中科大源,具体操作如下:

修改 /etc/docker/daemon.json 文件,如果文件不存在则手动新建,文件内容如下:

{ "registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn"] }​

修改完成后,重启docker服务

sudo service docker restart