Docker常用的几个命令笔记

/ 0评 / 0

最近这段时间一直在玩Docker,真香。结合虚拟机一起用,大大提升效率。而且也能尽可能的榨干硬件的内存。虚拟机被分配的内存是独占的,实际并不能被虚拟机100%用完,也不可能非常精准的分配内存,造成了内存的消耗,一个16G的小内存机器,装不了几个虚拟机就完球了。Docker就不一样了,单个Docker应用需要多少内存就使用多少内存,内存灵活了,大大节约了内存。举个例子:AdGuard这个应用,如果在Ubuntu系统中独立安装,至少分配给虚拟机1G,而在Docker中,它只需要35M内存就能玩了。

安装

在全新的Ubuntu系统中使用安装命令如下,也算是一键傻瓜式操作了,等待安装完成即可。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

如果不想使用命令行,那就使用portainer来进行图形化操作吧。

Docker使用

Docker的大概逻辑(非专业解释,希望能便于理解的描述):

一个应用需要存放文件,所以它会有卷(Volume);绝对大多数服务是BS架构,所以就要端口映射(port);

获取镜像

如果我们本地没有 AdGuard 镜像,我们可以使用 docker pull 命令来载入 AdGuard 镜像:

docker pull adguard

设置卷

也就是存放文件的位置,docker提供卷模式(Volume),或者直接存放在主机上,我喜欢直接映射到本机的某个文件夹中,这样比较容易读写文件。在docker命令用

-p

例如:

docker run -p 8081:8080 adminer

冒号前面是主机映射的端口号,只要不冲突可以任意写。冒号后的是容器的端口,不同的应用不同的端口号。上面的命令行的意思是:把容器adminer的端口8080映射到主机的8081端口上。那么我们就可以用主机的端口8081访问到容器了。

运行镜像

docker run -it adguard

如果本机上没有镜像也可以直接使用该命令,会自动拉取镜像后运行。

参数说明:

查看运行

使用 docker ps 来查看我们正在运行的容器

启动或停止一个容器

通过ps命令来查看 container ID后,

 #启动容器 docker start <container_name_or_id> #停止使用 docker stop <container_name_or_id> #重启docker restart <container_name_or_id>

查看应用IP地址

这个命令查看容器的所有的内容,包括IP地址

docker inspect <container_name_or_id>

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_id>
如果有macvlan或者其他自定义网络

docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container_name_or_id>

退出Docker终端

直接输入 exit

root@dockerserver:/# exit

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注