loading...
Docker基础命令
Published in:2023-02-07 | category: Docker

0x00前言

现在技术的发展是越来越快了,Docker也火了好几年了,那么Docker是什么?Docker是2013年提出发布的,它是一个虚拟化容器,用户可以在Docker里操作多个容器,而容器里是一台台装有系统的电脑。就类似于Windows的虚拟机(VMware)。Docker是由Go语言编写的,容器完全使用沙箱机制,直接相互隔离,理论上是非常安全的,但是仍存在一些漏洞(Docker逃逸)

0x01基础命令

docker可以同时操作多个容器,故先介绍一下docker的基本命令

开启docker服务

1
systemctl start docker

关闭docker服务

1
systemctl stop docker

重启docker服务

1
systemctl restart docker

查看docker信息(版本)

1
2
docker version
docker info

查看docker帮助

1
docker --help

查看容器日志

1
docker logs containid

查看所有容器/镜像

1
2
docker ps -a	//容器
docker images -a //镜像

搜索镜像

1
docker search 镜像名

运行/停止镜像

1
2
docker run 镜像名	-p 端口:映射端口 -d -name 容器名 //-d是守护进程
docker stop 镜像名

删除镜像/容器

1
2
docker rm 容器名
docker rmi 镜像名

启动容器内服务(进入某个容器)

1
2
docker exec -it 镜像名 bash  		//bash即linux的shell命令操作
退出容器则输入exit即可(在容器内)

0x02DockerFile编写

dockerfile是为了方便构建镜像的一种文件类型,在里面使用docker特有的语句来实现程序的安装到执行

例如这个文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Pull base image 
FROM ubuntu:trusty

MAINTAINER image "wh1t3zer@163.com"
# update source
RUN echo "deb http://archive.ubuntu.com/ubuntu trusty main universe"> /etc/apt/sources.list
RUN apt-get update \
&& apt-get install -y apache2 php5

COPY src /var/www/html
RUN rm /var/www/html/index.html &&\
chown www-data:www-data /var/www/html -R
COPY httpd-foreground /usr/bin
RUN chmod +x /usr/bin/httpd-foreground
CMD ["/usr/bin/httpd-foreground"]

解释:从ubuntu官网拉取镜像,定义维护者的名字,运行系统命令echo配置源,并更新,复制src文件夹到/var/www/html目录,并删除index.html赋权限,复制httpd-foreground到/usr/bin目录,赋予权限,最后CMD执行二进制文件

0x03Docker发布和拉取

dockerhub是一个镜像托管平台,类似于平时常用的github

Dockerhub也需要创建一个账号

Docker打包

1
docker build -t 镜像名 . 		//其中.代表当前路径的dockerfile

Docker重新命名标签

1
docker tag 标签名 新表签名

Docker发布镜像

1
docker push 

Docker拉取镜像

1
docker pull 镜像名   //默认从dockerhub上拉取

0x04总结

暂时记录这么多命令,以后新学的docker命令也会持续更新到文章里

Prev:
Pwn入门(溢出篇)
Next:
NodeJS常见漏洞总结(下)
catalog
catalog