我们都知道 Docker 的重要性,以及 Docker 如何在软件开发生命周期中发挥重要作用 。说实话,学习 Docker 很有趣,至少在我看来是这样。一旦掌握了基础知识,这并不难。困难的是记住所有这些命令。
因此,在这篇文章中,我收集了所有命令,或者更准确地说,收集了所有最常用的命令。它将帮助您记住这些命令并快速参考它们。
1. Docker运行
要在Docker中运行容器,可以使用以下命令:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-
•
docker run
:运行容器的命令。 -
•
[OPTIONS]
:可选参数,用于配置容器的各种选项,如端口映射、容器名称等。 -
•
IMAGE
:要运行的镜像名称或ID。 -
•
[COMMAND] [ARG...]
:可选的命令和参数,用于在容器内执行特定的命令。
2. Docker构建
要构建自己的Docker镜像,可以使用以下命令:
docker build [OPTIONS] PATH | URL | -
-
•
docker build
:构建镜像的命令。 -
•
[OPTIONS]
:可选参数,用于配置构建过程,如镜像标签、构建上下文路径等。 -
•
PATH | URL | -
:Dockerfile所在的路径、URL或者使用标准输入作为Dockerfile。
3. Docker pull
要从Docker仓库中拉取现有的镜像,可以使用以下命令:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
-
•
docker pull
:拉取镜像的命令。 -
•
[OPTIONS]
:可选参数,用于配置拉取过程,如认证信息等。 -
•
NAME[:TAG|@DIGEST]
:要拉取的镜像名称、标签或摘要。
4. Docker push
要将本地的镜像推送到Docker仓库,可以使用以下命令:
docker push [OPTIONS] NAME[:TAG]
-
•
docker push
:推送镜像的命令。 -
•
[OPTIONS]
:可选参数,用于配置推送过程,如认证信息等。 -
•
NAME[:TAG]
:要推送的镜像名称和标签。
5. Docker images
要列出本地所有的镜像,可以使用以下命令:
docker images [OPTIONS] [REPOSITORY[:TAG]]
-
•
docker images
:列出镜像的命令。 -
•
[OPTIONS]
:可选参数,用于配置输出结果的格式等。 -
•
[REPOSITORY[:TAG]]
:可选的镜像名称和标签,用于过滤输出结果。
6. Docker ps
要列出正在运行的容器,可以使用以下命令:
docker ps [OPTIONS]
-
•
docker ps
:列出容器的命令。 -
•
[OPTIONS]
:可选参数,用于配置输出结果的格式和过滤条件。
7. Docker stop
要停止正在运行的容器,可以使用以下命令:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
-
•
docker stop
:停止容器的命令。 -
•
[OPTIONS]
:可选参数,用于配置停止过程,如超时时间等。 -
•
CONTAINER [CONTAINER...]
:要停止的容器名称或ID。
8. Docker start
要启动已停止的容器,可以使用以下命令:
docker start [OPTIONS] CONTAINER [CONTAINER...]
-
•
docker start
:启动容器的命令。 -
•
[OPTIONS]
:可选参数,用于配置启动过程,如守护模式等。 -
•
CONTAINER [CONTAINER...]
:要启动的容器名称或ID。
9. Docker restart
要重启正在运行的容器,可以使用以下命令:
docker restart [OPTIONS] CONTAINER [CONTAINER...]
-
•
docker restart
:重启容器的命令。 -
•
[OPTIONS]
:可选参数,用于配置重启过程,如超时时间等。 -
•
CONTAINER [CONTAINER...]
:要重启的容器名称或ID。
10. Docker kill
要强制终止正在运行的容器,可以使用以下命令:
docker kill [OPTIONS] CONTAINER [CONTAINER...]
-
•
docker kill
:终止容器的命令。 -
•
[OPTIONS]
:可选参数,用于配置终止过程,如信号等。 -
•
CONTAINER [CONTAINER...]
:要终止的容器名称或ID。
11. Docker rm/docker rmi
要删除已停止的容器或镜像,可以使用以下命令:
docker rm [OPTIONS] CONTAINER [CONTAINER...] docker rmi [OPTIONS] IMAGE [IMAGE...]
-
•
docker rm
:删除容器的命令。 -
•
docker rmi
:删除镜像的命令。 -
•
[OPTIONS]
:可选参数,用于配置删除过程,如强制删除等。 -
•
CONTAINER [CONTAINER...]
:要删除的容器名称或ID。 -
•
IMAGE [IMAGE...]
:要删除的镜像名称或ID。
12. Docker exec
要在运行中的容器内执行命令,可以使用以下命令:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-
•
docker exec
:在容器内执行命令的命令。 -
•
[OPTIONS]
:可选参数,用于配置执行过程,如进入交互模式等。 -
•
CONTAINER
:要执行命令的容器名称或ID。 -
•
COMMAND [ARG...]
:要在容器内执行的命令及其参数。
13. Docker logs
要查看容器的日志输出,可以使用以下命令:
docker logs [OPTIONS] CONTAINER
-
•
docker logs
:查看容器日志的命令。 -
•
[OPTIONS]
:可选参数,用于配置输出结果,如时间戳等。 -
•
CONTAINER
:要查看日志的容器名称或ID。
14. Docker inspect
要获取容器或镜像的详细信息,可以使用以下命令:
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
-
•
docker inspect
:获取详细信息的命令。 -
•
[OPTIONS]
:可选参数,用于配置输出结果的格式等。 -
•
NAME|ID [NAME|ID...]
:要获取信息的容器或镜像的名称或ID。
15. Docker cp
要在容器和主机之间复制文件或目录,可以使用以下命令:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
-
•
docker cp
:复制文件或目录的命令。 -
•
[OPTIONS]
:可选参数,用于配置复制过程,如权限等。 -
•
CONTAINER:SRC_PATH
:源路径,其中CONTAINER
是容器名称或ID。 -
•
DEST_PATH
:目标路径,其中DEST_PATH
是主机路径。 -
•
SRC_PATH|-
:源路径,其中-
表示从标准输入读取。
16. Docker system prune
要清理不再使用的镜像、容器和其他资源,可以使用以下命令:
docker system prune [OPTIONS]
-
•
docker system prune
:清理资源的命令。 -
•
[OPTIONS]
:可选参数,用于配置清理过程,如强制删除等。
17. Docker network
Docker网络允许容器之间进行通信和连接到外部网络。以下是一些与Docker网络相关的常用命令:
-
•
docker network ls
:列出所有的Docker网络。 -
•
docker network create
:创建一个新的Docker网络。 -
•
docker network connect
:将容器连接到指定的Docker网络。 -
•
docker network disconnect
:将容器从指定的Docker网络断开连接。
18. Docker volume
Docker卷用于在容器和主机之间持久化存储数据。以下是一些与Docker卷相关的常用命令:
-
•
docker volume ls
:列出所有的Docker卷。 -
•
docker volume create
:创建一个新的Docker卷。 -
•
docker volume inspect
:获取Docker卷的详细信息。 -
•
docker volume rm
:删除指定的Docker卷。
19. Docker-compose
Docker-compose是一个用于定义和运行多个容器应用程序的工具。它使用YAML文件来配置应用程序的服务、网络和卷等。以下是一些与Docker-compose相关的常用命令:
-
•
docker-compose up
:构建并启动Docker-compose定义的所有服务。 -
•
docker-compose down
:停止并删除Docker-compose定义的所有服务。 -
•
docker-compose build
:构建Docker-compose定义的所有服务的镜像。 -
•
docker-compose logs
:查看Docker-compose定义的所有服务的日志。
20. Docker swarm
Docker swarm是Docker的原生集群管理和编排工具,用于在多个Docker主机上运行和管理应用程序。以下是一些与Docker swarm相关的常用命令:
-
•
docker swarm init
:初始化一个新的Docker swarm集群。 -
•
docker swarm join
:将节点加入到Docker swarm集群。 -
•
docker node ls
:列出Docker swarm集群中的所有节点。 -
•
docker service
:管理在Docker swarm集群中运行的服务。
21. Dockerfile
Dockerfile是用于定义Docker镜像构建过程的文本文件。它包含一系列的指令和配置,用于指导Docker引擎在构建过程中执行特定的操作。以下是一些与Dockerfile相关的常用命令:
-
•
FROM
:指定基础镜像。 -
•
RUN
:在容器内执行命令。 -
•
COPY
:将文件或目录从主机复制到容器内。 -
•
ADD
:将文件或目录从主机复制到容器内,并支持URL和解压缩操作。 -
•
WORKDIR
:设置工作目录。 -
•
EXPOSE
:声明容器运行时监听的端口。 -
•
CMD
:指定容器启动时要执行的命令。
这些命令可以在Dockerfile中按照特定的顺序组合使用,以定义和构建自定义的Docker镜像。
22. Docker登录和认证
要登录到Docker仓库或私有镜像仓库,可以使用以下命令:
-
•
docker login
:登录到Docker仓库。 -
•
docker logout
:退出登录。
登录后,您可以使用docker pull
和docker push
命令来拉取和推送镜像。
23. Docker容器日志管理
除了使用docker logs
命令查看容器日志外,还可以使用以下命令对容器日志进行管理:
-
•
docker logs --tail
:只显示最后几行的日志。 -
•
docker logs --follow
:实时跟踪容器的日志输出。 -
•
docker logs --since
:只显示特定时间之后的日志。 -
•
docker logs --until
:只显示特定时间之前的日志。
这些命令可以根据需要对容器日志进行筛选和处理。
这些是Docker的一些常用命令,如果您对特定主题或命令感兴趣,请告诉我,我将很乐意为您提供更详细的信息。
总结
简而言之,这份关键命令快速指南对于管理容器和构建镜像非常方便。了解这些基础知识可以让处理 Docker 变得不再那么棘手!
`黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全入门学习路线
其实入门网络安全要学的东西不算多,也就是网络基础+操作系统+中间件+数据库,四个流程下来就差不多了。
1.网络安全法和了解电脑基础
其中包括操作系统Windows基础和Linux基础,标记语言HTML基础和代码JS基础,以及网络基础、数据库基础和虚拟机使用等…
别被这些看上去很多的东西给吓到了,其实都是很简单的基础知识,同学们看完基本上都能掌握。计算机专业的同学都应该接触了解过,这部分可以直接略过。没学过的同学也不要慌,可以去B站搜索相关视频,你搜关键词网络安全工程师会出现很多相关的视频教程,我粗略的看了一下,排名第一的视频就讲的很详细。
当然你也可以看下面这个视频教程仅展示部分截图:
学到http和https抓包后能读懂它在说什么就行。
2.网络基础和编程语言
3.入手Web安全
web是对外开放的,自然成了的重点关照对象,有事没事就来入侵一波,你说不管能行吗!
想学好Web安全,咱首先得先弄清web是怎么搭建的,知道它的构造才能精准打击。所以web前端和web后端的知识多少要了解点,然后再学点python,起码得看懂部分代码吧。
最后网站开发知识多少也要了解点,不过别紧张,只是学习基础知识。
等你用几周的时间学完这些,基本上算是具备了入门合格渗透工程师的资格,记得上述的重点要重点关注哦!
再就是,要正式进入web安全领域,得学会web渗透,OWASP TOP 10等常见Web漏洞原理与利用方式需要掌握,像SQL注入/XSS跨站脚本攻击/Webshell木马编写/命令执行等。
这个过程并不枯燥,一边打怪刷级一边成长岂不美哉,每个攻击手段都能让你玩得不亦乐乎,而且总有更猥琐的方法等着你去实践。
学完web渗透还不算完,还得掌握相关系统层面漏洞,像ms17-010永恒之蓝等各种微软ms漏洞,所以要学习后渗透。可能到这里大家已经不知所云了,不过不要紧,等你学会了web渗透再来看会发现很简单。
其实学会了这几步,你就正式从新手小白晋升为入门学员了,真的不算难,你上你也行。
4.安全体系
不过我们这个水平也就算个渗透测试工程师,也就只能做个基础的安全服务,而这个领域还有很多业务,像攻防演练、等保测评、风险评估等,我们的能力根本不够看。
所以想要成为一名合格的网络工程师,想要拿到安全公司的offer,还得再掌握更多的网络安全知识,能力再更上一层楼才行。即便以后进入企业,也需要学习很多新知识,不充实自己的技能就会被淘汰。
从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。
尾言
因为入门学习阶段知识点比较杂,所以我讲得比较笼统,最后联合CSDN整理了一套【282G】网络安全从入门到精通资料包,需要的小伙伴可以点击链接领取哦!
如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享