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。

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

相关推荐
JAVA学习通10 分钟前
发布自己的 jar 包到 Maven 中央仓库 ( mvnrepository.com )
人工智能·docker·自然语言处理·容器·rocketmq
恒创科技HK20 分钟前
如何选30G、60G、100G的香港高防服务器?
运维·服务器
wanhengidc31 分钟前
云手机 手游专用虚拟手机
运维·服务器·安全·游戏·智能手机
檀越剑指大厂38 分钟前
【Linux系列】Vim 中删除当前光标到行尾
linux·运维·vim
菠萝吹雪ing1 小时前
GUI 自动化与接口自动化:概念、差异与协同落地
运维·笔记·程序人生·自动化·接口测试·gui测试
周之鸥2 小时前
从零部署 Astro 静态网站到云服务器(含 HTTPS 一键配置)
运维·服务器·ubuntu·http·https·astro
noravinsc2 小时前
centos如何做的时间同步
linux·运维·centos
木亦汐丫3 小时前
Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
运维·docker·容器·debian·alpine·slim·bullseye
李元豪4 小时前
919服务器巡检
运维·服务器·servlet
迎風吹頭髮4 小时前
Linux内核架构浅谈25-Linux实时调度器:SCHED_RR与SCHED_FIFO策略实现
linux·运维·架构