docker-compose以及docker的使用笔记

  1. vulhub 漏洞环境使用
    github下载vulhub:
    git clone https://www.github/vulhub/vulhub.git
    编译环境命令[可选]:
    docker-compose build
    启动漏洞环境命令:
    docker-compose up -d
    需要注意,使用此命令需要先安装docker 以及docker-compose ,它们都可以进行yum安装,执行此命令需要先cd到要启动的漏洞环境中才可以执行。
    查看当前运行的环境(容器)
    docker ps
    查看当前正在运行的镜像
    docker images

有些操作系统中使用的是service start docker。可以两个命令都尝试一下

  1. docker的启动 使用systemctl start docker
  2. docker的关闭 使用systemctl stop docker
  3. docker的开启自启动,使用docker enable docker
  4. docker查看运行状态,使用systemctl status docker

使用完漏洞环境后:

  1. 执行docker-compose down 关闭容器,可以使用docker ps查看当前容器状态,正常关闭后显示为空 执行此步骤需要在漏洞文件夹下例如/vulhub/joomla/CVE-2023-23752。
  2. 使用docker rmi image [image ID] [image ID] 删除镜像 ,有时候无法删除需要使用-f 选项进行强制删除。
  3. 关闭容器还可以使用 docker stop 容器名,或者使用docker kill 容器名 强制关闭。

docker的使用:https://www.docker.org.cn/book/docker/docker-search-image-6.html

  1. 使用docker pull 镜像名 拉取镜像
  2. 使用docker run -d --name "容器名" "镜像名" 启动镜像
  3. docker search 镜像名称 查询docker库中的镜像
  4. docker pull 镜像路径 获取镜像
  5. docker run 镜像名
  6. 使用docker stop 容器名 关闭容器
  7. 使用docker rmi 镜像名或者ID

Docker run命令用于启动一个容器。以下是一些常用的选项:
-d:后台运行容器,并返回容器ID;
-i:以交互模式运行容器,通常与 -t 同时使用;
-P:随机端口映射,容器内部端口随机映射到主机的端口;
-p:将容器内部的端口映射到主机上;
--network:指定容器使用的网络;
--privileged:允许容器访问主机的所有设备和网络接口。
--name:指定容器名称;
--rm:在退出终端时自动删除容器。

docker run -t 命令中的 -t 选项用于分配一个伪终端,以便在容器内部与主机进行交互。如果您使用 docker run -it 命令启动容器,则会分配一个伪终端并将其连接到容器内部的控制台。这样,您就可以在容器内部输入命令并查看输出结果了。

容器命令
`
docker exec -it 容器ID /bin/bash 进入容器控制台
docker create - 从镜像中创建一个容器不启动

docker run - 创建一个新的容器并且启动它

docker start - 启动一个已有的容器

docker start -i 容器名 - 恢复启动容器

docker container - 管理容器

docker ps - 列出正在运行的容器

docker ps -a - 查看所有容器

docker ps -l - 显示最后运行

docker top - 查看容器中运行的进程信息

docker exec -it 容器 /bin/bash - 在运行的容器中执行命令

docker exit - 退出容器

docker inspect - 查看关于容器的信息

docker wait - 阻塞运行直到容器停止,然后打印出它的退出代码

docker stop - 优雅停止正在运行的容器

docker kill - 杀死一个或多个正在运行的容器

docker rm - 删除已经停止的容器

docker pause - 暂停容器中所有的进程

docker unpause - 恢复容器中所有的进程

docker events - 从服务器获取实时事件 -f 根据条件过滤事件; --since 从指定的时间戳后显示所有事件;

--until :流水时间显示到指定的时间为止;

docker attach - 连接到正在运行中的容器

docker rename - 重命名容器

docker cd - 在容器和本地文件系统之间复制文件/文件夹

docker diff - 检查容器文件系统上文件或目录的更改

docker export - 将容器的文件系统导出为tar存档

docker port - 列出端口映射或容器的特定映射

docker status - 显示容器资源使用情况统计信息的实时流

docker logs - 打印日志`

镜像命令
`
docker build - 构建一个镜像

docker images - 查看镜像

docker search - 搜索镜像名称

docker push - 将镜像推送到远程镜像仓库中

docker ls - 列出镜像

docker history - 查看中间镜像信息

docker inspect - 查看关于镜像的信息,包括层

docker rm 镜像名称 - 删除镜像

docker tag oldname newname - 修改镜像名称

docker rmi 镜像名称 - 删除本地一个或多个镜像 -f 强制删除

docker save - 将指定镜像保存成 tar 归档文件

docker load - 导入镜像

docker import - 从归档文件中创建镜像

**查看docker信息命令**
docker version - docker版本信息

docker info - 显示docker系统信息 包括镜像和容器数

docker login - 登录docker hub

docker logout - 从docker hub中退出

`

当你想要使用 docker commit 命令将容器的当前状态保存为一个新的镜像时,你可以按照以下步骤进行操作:

首先,确认你已经有一个正在运行的容器,你想要基于它创建新的镜像。

执行 docker ps 命令查看正在运行的容器的相关信息,找到需要保存为新镜像的容器的名称或者 ID。

使用以下命令来创建一个新的镜像:

bash
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
CONTAINER:指定要创建镜像的容器的名称或ID。
REPOSITORY:新镜像所属的仓库名。
TAG:新镜像的标签。
例如:

bash
docker commit my_container my_image:latest
上述命令将创建一个新的镜像,该镜像名为 my_image,标签为 latest,其基础是 my_container 容器的当前状态。

如果需要,你可以通过 docker images 命令验证新创建的镜像是否已经存在。

使用 docker commit 命令是快速创建镜像的一种方法,但在生产环境中最佳实践是使用 Dockerfile 来定义镜像的构建过程,以便达到可重复、可移植和可维护的镜像构建。

posted @ 2023-06-07 14:29  不聪明的小子  阅读(67)  评论(0编辑  收藏  举报