当前位置: 首页 > article >正文

安装完docker后,如何拉取ubuntu镜像并创建容器?

1. 先docker拉取ubuntu镜像

docker search ubuntu   #搜索ubuntu  镜像

docker pull ubuntu:22.04 #拉取ubuntu  镜像

docker images   #下载完成后,查看已经下载的镜像

docker run --name ubuntu_container -dit ubuntu:22.04 /bin/bash  #

docker container -l

2.根据镜像创建容器

docker run  --name my_container -dit my_image:tag /bin/bash

--name:加上此参数可指定生成容器的名称,此参数位置在镜像id前
my_container 指定的容器名字
-d:打开后台运行
-i:打开控制台交互(不设置此选项退出容器后docker会自动清理未活动的容器)
-t:支持终端登录
my_image:tag 是要使用的镜像名称和标签。不喜欢打这么多字的可以用id代替
/bin/bash 表示要在容器内启动 Bash Shell进行交互

例如:

docker run --name ubuntu_container -dit ubuntu:22.04 /bin/bash  #

 

 

 首先,使用 docker ps 命令列出所有正在运行的容器,找到你想要进入的容器的名称或ID。

 

然后,使用 docker exec 命令以交互模式进入该容器。例如,如果你的容器名称是 my_container,你可以使用以下命令启动一个新的bash终端:

docker exec -it container_name bash

这里的 -it 选项表示以交互式终端模式运行。

其他方法

使用 docker attach 命令

docker attach 命令也可以用于进入容器,但它会将你的终端与容器的标准输入、输出和错误流连接起来。这意味着,当你在该终端中执行命令时,所有窗口都会同步显示,且如果有一个窗口阻塞了,其他窗口也无法再进行操作。因此,docker attach 通常不推荐用于生产环境。

使用 nsenter 命令

nsenter 是一个可以访问另一个进程名称空间的工具。要使用 nsenter 进入容器,你需要先获取容器的PID(进程ID),这可以通过 docker inspect 命令来实现。然后,你可以使用 nsenter 命令连接到该PID并进入容器。然而,这种方法相对复杂,且需要额外的安装步骤,因此不如 docker exec 常用。

3.进入容器后,由于拉取的镜像为基础镜像,因此需要增加很多工具进行下载

sudo apt update                             #老规矩先更新
sudo apt install iputils-ping            # ping工具
sudo apt install net-tools               # 软件包 其中包括ifconfig
sudo apt install vim                       # vim编辑器
sudo apt install openssh-client     # ssh  连接其他服务器ssh
sudo apt install openssh-server   # 其他服务器连接本机ssh
sudo apt install vsftpd                  # ftp

4.界面查看容器

docker ps      # 查看正在运行的容器
docker ps -a  #查看所有容器包括未运行的

 5.删除容器

docker ps    #list the containers

docker stop da035bd84c7a   #stop  the container use id

sudo docker rm da035bd84c7a  #delete the container use id

6.后续再次进入容器

docker exec -it 容器id或容器名称 /bin/bash # 退出容器后不会关闭容器

7.退出容器

关闭当前的终端会话并停止容器 输入 exit 并按 Enter 
Ctrl + D 快捷键退出容器

 


http://www.kler.cn/a/481798.html

相关文章:

  • STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显
  • Personal APP
  • DuckDB:PRAGMA语句动态配置数据库行为
  • 晨辉面试抽签和评分管理系统之一:考生信息管理和编排
  • 基于YOLO11的无人机视角下羊群检测系统
  • c#使用SevenZipSharp实现压缩文件和目录
  • 机器学习无处不在,AI顺势而为,创新未来
  • OpenAI开源的多智能体框架Swarm
  • 农业信息化、智慧农业领域工作实践总结以及展望
  • 国产操作系统两款图像处理软件
  • JetBrains IDEs和Visual Studio Code的对比
  • Docker中安装Tailscale方法三
  • springboot项目读取resources目录下文件
  • 国内 Docker 服务状态 镜像加速监控
  • python本地计算机上快速搭建一个简单的HTTP服务器
  • Wireshark 学习笔记1
  • 安装cuda后遇到的问题(Ubuntu)
  • TIKTOK数据采集,sec_id
  • 【笔记】7.0 直流稳压电源
  • 函数包装器-回调
  • VScode python 远程调试
  • 加拿大亚马逊上架火柴SOR/2016-182测试报告
  • 网工考试下午题目笔记
  • vite5.x配置https
  • 创建 FCLab
  • 10分钟快速了解OceanGPT(沧渊)