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

拉取镜像

拉取镜像的命令: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 ID : 65deaf662814 是这个容器的唯一标识符。每个运行的容器都会有一个这样的ID。

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

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

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

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

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

  • NAMES : hisdocker 是这个容器的名称。

总的来说,这个输出表明有一个名为 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。

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

相关推荐
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn862 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉2 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦2 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_961875242 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant