docker运行Ubuntu22.04

1、拉取docker

bash 复制代码
# 拉取最新版Ubuntu
docker pull ubuntu

# 拉取指定版本(例如22.04)
docker pull ubuntu:22.04

2、运行 Ubuntu 容器

拉取镜像后,可以通过docker run命令启动 Ubuntu 容器:

交互式运行(进入容器终端)

如果需要直接进入 Ubuntu 容器的终端交互(常用场景):

bash

复制代码
# -it:交互式终端;--name:给容器命名;/bin/bash:启动bash终端
docker run -it --name ubuntu -p 19914:19914 ubuntu /bin/bash

执行后会直接进入容器内部的bash终端,此时可以像在本地 Ubuntu 系统中一样执行命令(如lsapt update等)。

后台运行容器

如果需要让容器在后台运行(不直接进入终端):

bash

复制代码
# -d:后台运行;--name:容器名称
docker run -d --name ubuntu -p 19914:19914 ubuntu:22.04 sleep infinity

后续可以通过docker exec进入后台运行的容器(见步骤 3)。

3. 进入已运行的 Ubuntu 容器

如果容器已在后台运行,可通过docker exec命令进入其终端:

bash

复制代码
# -it:交互式终端;my-ubuntu-bg:容器名称;/bin/bash:启动bash
docker exec -it ubuntu /bin/bash

4. 容器内基本操作

进入 Ubuntu 容器后,可以执行常规 Linux 命令:

bash

复制代码
# 更新包索引
apt update

# 安装软件(例如安装vim)
apt install -y vim

apt install -y wget

apt install -y curl

# 查看系统信息
cat /etc/os-release

5. 容器与主机文件共享

如果需要在容器和本地主机之间共享文件,可以通过-v参数挂载目录:

bash

复制代码
# 将本地当前目录($(pwd))挂载到容器的/mnt目录
docker run -it -v $(pwd):/mnt --name my-ubuntu-mount ubuntu /bin/bash

此时在容器内/mnt目录下的操作,会同步到本地主机的当前目录。

6. 保存容器修改为新镜像

如果对容器做了自定义配置(如安装了软件),可以将其保存为新镜像,方便后续复用:

bash

复制代码
# docker commit [容器名称/ID] [新镜像名称:标签]
docker commit my-ubuntu my-custom-ubuntu:v1

7. 停止和删除容器

bash

复制代码
# 停止容器
docker stop my-ubuntu

# 启动已停止的容器
docker start my-ubuntu

# 删除容器(需先停止)
docker rm my-ubuntu

# 强制删除运行中的容器
docker rm -f my-ubuntu

8. 删除 Ubuntu 镜像

如果需要清理镜像:

bash

复制代码
# 删除指定镜像(需先删除依赖该镜像的容器)
docker rmi ubuntu:22.04

通过以上操作,你可以在 Docker 中灵活使用 Ubuntu 环境,适合开发、测试等场景,无需在本地安装完整的 Ubuntu 系统。

相关推荐
潘正翔6 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower7 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer
江湖有缘8 小时前
Docker实战 | 使用Docker部署Donetick任务与家务管理应用
运维·docker·容器
流星白龙8 小时前
【Docker】4.NameSpace空间隔离实战
java·运维·docker
面对疾风叭!哈撒给9 小时前
Linux ARM架构的docker和docker-compose离线安装
linux·docker·架构
刹那芳华199211 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
docker·容器·llama
holidaypenguin1 天前
前端 Docker 开发与生产部署指南
docker·容器
江湖有缘1 天前
保姆级教程:使用Docker一键部署Hoodik轻量级安全云盘
安全·docker·容器
xia5420464461 天前
Docker 远程 API(Remote API)未授权访问漏洞入侵过程
运维·docker·容器
X1A0RAN1 天前
容器化部署 Jenkins 教程
运维·docker·jenkins