docker 拉取镜像 | 创建容器 | 容器运行

server/2024/12/19 7:53:26/

拉取镜像

拉取镜像的命令:docker pull  name (name换为你要拉取的镜像名)

docker pull docker.1panel.live/hispark/qiankunbp:1.0.0

 docker.1panel.live/hispark/qiankunbp:1.0.0为镜像名

 拉取海思的镜像:(如果之前拉取好了 就不会再进行拉取)

 拉取过程就是下面这种:

 查看镜像命令:docker images

 可以输入docker images命令 来查看镜像是否拉取成功

docker images

创建容器

创建启动容器的方式有: 后台运行交互式运行

 后台运行:docker run -d --name mycontainer myimage

  • -d表示容器将在后台运行(detached mode)。
  • --name mycontainer:为容器指定一个名称(在这个例子中是 mycontainer)。
  • myimage要从中创建容器的镜像名称。

注意,如果不指定 -d容器将在前台运行,并且你会看到容器的输出。

  交互式运行:docker run -it --name mycontainer myimage /bin/bash

  • -i保持容器的标准输入(STDIN)开放。
  • -t容器分配一个伪终端(pseudo-TTY)。
  • /bin/bash容器内启动的命令(在这个例子中是 bash shell)。

这个命令会启动一个容器,并且你会直接进入到容器的 bash shell 中。这对于调试或交互式地运行应用程序非常有用。

以下是可选: 

docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -p 40023:22 --name hisdocker docker.1panel.live/hispark/qiankunbp:1.0.0

  • // 将宿主机的 /tmp/.X11-unix:/tmp/.X11-unix目录 挂载到容器docker.1panel.live/hispark/qiankunbp:1.0.0目录上
  • //将容器内的 22 端口映射到宿主机的 40023 端口上

-v /path/on/host:/path/in/container:将宿主机的 /path/on/host 目录挂载到容器的 /path/in/container 目录上 ,这对于数据持久化或共享宿主机和容器之间的文件非常有用。

-p 8080:80:将容器内的 80 端口映射到宿主机的 8080 端口上。这样,你就可以通过访问宿主机的 8080 端口来访问容器内运行的服务。

查看运行的容器docker ps

  • CONTAINER ID65deaf662814 是这个容器的唯一标识符。每个运行的容器都会有一个这样的ID。

  • IMAGEdocker.1panel.live/hispark/qiankunbp:1.0.0 是这个容器使用的镜像。这个镜像来自 docker.1panel.live 这个仓库,属于 hispark 下的 qiankunbp 项目,标签为 1.0.0

  • COMMAND/bin/bash 是容器启动时执行的命令。在这个例子中,容器启动后运行了一个 Bash shell。

  • CREATED37 hours ago 表示这个容器是在37小时前创建的。

  • STATUSUp 38 minutes 表示这个容器已经运行了38分钟。

  • PORTS0.0.0.0:40023->22/tcp, [::]:40023->22/tcp 表示容器的22端口被映射到了宿主机的40023端口上,允许通过TCP协议进行通信。这通常用于SSH访问容器的Shell。0.0.0.0 和 [::] 分别代表IPv4和IPv6的任意地址,意味着从宿主机的任何地址都可以访问这个端口。

  • NAMEShisdocker 是这个容器的名称。

总的来说,这个输出表明有一个名为 hisdocker 的容器正在运行,它基于 docker.1panel.live/hispark/qiankunbp:1.0.0 镜像,启动了一个 Bash shell,并且可以通过宿主机的40023端口进行SSH访问。

 查看容器 ,不管是否运行:docker ps -a

 运行容器

容器之前已经创建,现在想运行:

先查看容器名:docker ps -a 可以查看所有的容器 和他们的状态,exited 表示已经退出,没有运行

启动容器docker start 容器

 

进入正在运行的容器

docker exec -it hisdocker /bin/bash

  • docker exec: 这是 Docker 的一个命令,用于在运行中的容器内执行命令。

  • -i 或 --interactive: 这个选项保持容器的标准输入(STDIN)开放,允许你与执行的命令进行交互。

  • -t 或 --tty: 这个选项分配一个伪终端(pseudo-TTY)或终端,让你可以像在本地终端中一样与容器进行交互。这通常与 -i 一起使用,以提供交互式的 shell。

  • hisdocker: 这是你想要进入的容器的名称。在这个例子中,容器的名称是 hisdocker

  • /bin/bash: 这是你想要在容器内部执行的命令。在这个例子中,你希望启动一个 Bash shell。

 

进入后 前面用户发生改变 (出现上面的画面就已经成功进入到容器中了


http://www.ppmy.cn/server/151390.html

相关文章

Spring Framework 路径遍历漏洞复现(CVE-2024-38819)

hu0x01 产品描述: Spring Framework 是一个功能强大的 Java 应用程序框架,旨在提供高效且可扩展的开发环境。它结合了轻量级的容器和依赖注入功能,提供了一种使用 POJO 进行容器配置和面向切面的编程的简单方法,以及一组用于AOP的模块。0x02 漏洞描述: Spring Framework 存…

XXE-Lab for PHP

进入环境 出现一个登录页面,输入任意 UserName 和 Psaaword ,使用bp抓取登录数据包 发送到重放器,点击“发送” 只修改 username 的值,查看右边的变化 只修改 password 的值,查看右边的变化 修改 username 和 password…

java二分查找算法详解

二分查找遵循分治策略,在升序排列的有序数组中查找元素。核心是反复减半搜索区间,先确定中间元素并与目标元素比较,若相等则查找成功返回其索引;若中间元素大于目标元素,就把搜索区间缩小到左半部分(更新右…

scp命令

scp(Secure Copy Protocol)是一种用于在不同主机之间安全传输文件的命令。使用 scp 命令,你可以将文件从本地计算机复制到远程计算机,或者从远程计算机复制到本地计算机。 以下是 scp 命令的基本语法和一些示例: 基本…

压力测试Jmeter简介

前提条件:要安装JDK 若不需要了解,请直接定位到左侧目录的安装环节。 1.引言 在现代软件开发中,性能和稳定性是衡量系统质量的重要指标。为了确保应用程序在高负载情况下仍能正常运行,压力测试变得尤为重要。Apache JMeter 是一…

Django中注册模型到Admin界面

Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、务实的设计。Django 自带了一个强大的管理后台(Admin),可以让开发者轻松地管理数据库中的数据。在这篇博文中,我们将详细介绍如何在 Django Admin 中注册一个模型,并定制其显示和管理方式。 前提条件 在开始…

Windows server 服务器网络安全管理之防火墙出站规则设置

Windows server 服务器网络安全管理之防火墙出站规则设置 创建一条出站规则 这条出站规则针对IE浏览器设置,指定路径 TCP协议和指定端口(多个端口的写法要注意) 所有IP,所有应用,都采用阻止 给这条规则进行命名…

sql-labs(16-20)

第十六关 这一关与15关的注入方式一样,都是使用盲注可以实现,只是闭合方式不同,这里需要使用")来闭合,就里就不再演示 第一步进行时间盲注 ") and sleep(3)# 第二步开始判断数据库的长度 第三步爆出表名 第四步爆出字…