Docker 容器入门基础:Cloud Studio 在线 Linux 环境上手
目录前言一、Docker 核心概念回顾二、Cloud Studio 安装 Docker2.1 查看系统版本2.2 安装 Docker 引擎2.3 启动 Docker 服务2.4 免 sudo 执行 docker可选三、Docker 高频命令整理镜像相关容器相关数据卷操作文件拷贝 宿主机 ↔ 容器镜像构建与推送 Docker HubDockerfile 示例 (Python 项目)四、实战案例Nginx 自定义网页部署步骤 1创建项目文件步骤 2创建数据卷步骤 3启动 Nginx 容器步骤 4拷贝配置和网页文件到容器步骤 5重载 Nginx 配置生效步骤 6Cloud Studio 预览访问五、常见踩坑总结六、总结前言很多同学做开发学习时本地安装 Docker 会遇到 Windows/WSL 冲突、虚拟机占用资源高等问题。Cloud Studio 在线开发环境提供开箱即用的 Linux 实例可以直接在浏览器完成 Docker 学习、镜像构建、容器部署、数据卷挂载全套操作无需本地配置环境。本文结合 Docker 核心概念、常用命令、Nginx 完整实战案例记录在 Cloud Studio (Linux) 部署 Docker 的全过程同时修正日常敲命令常见笔误适合 Docker 入门练习。环境说明Cloud Studio Ubuntu 工作空间部分免费实例权限受限Docker 操作需要sudo管理员权限。一、Docker 核心概念回顾表格名词说明镜像 (Image)相当于类、模板只读模板用来创建容器例如 nginx、mysql 镜像容器 (Container)镜像运行后的实例独立隔离运行环境可读写仓库 (Registry)存放镜像的仓库默认 Docker Hub可以拉取、推送自定义镜像数据卷 (Volume)实现宿主机和容器之间数据持久化同步容器删除数据不会丢失Dockerfile文本脚本自动化编写镜像构建步骤一键生成自定义镜像二、Cloud Studio 安装 Docker⚠️重要提示Cloud Studio 工作空间重启之后Docker 服务不会自动保留需要重新启动 Docker 服务。2.1 查看系统版本打开 Cloud Studio 内置终端cat /etc/os-release绝大多数实例为 Ubuntu 系统下面安装命令适配 Ubuntu。2.2 安装 Docker 引擎# 更新软件源 sudo apt update # 安装依赖工具 sudo apt install ca-certificates curl gnupg lsb-release -y # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加Docker软件源 echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 更新源并安装docker sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y2.3 启动 Docker 服务# 启动docker服务 sudo systemctl start docker # 设置开机自启Cloud Studio重启失效仅本地虚拟机生效 sudo systemctl enable docker # 验证是否安装成功运行hello-world测试容器 sudo docker run hello-world踩坑部分 Cloud Studio 环境不支持systemctl执行报错使用后台启动方式sudo dockerd 2.4 免 sudo 执行 docker可选每次敲 docker 命令加 sudo 比较麻烦可以把当前用户加入 docker 用户组。sudo usermod -aG docker $USER执行完成后关闭当前终端重新打开新终端生效。三、Docker 高频命令整理镜像相关# 查看本地全部镜像 docker images # 拉取镜像 格式 docker pull 镜像名:标签 docker pull nginx:latest # 搜索镜像 docker search mysql # 删除镜像 docker rmi nginx:latest容器相关# 查看正在运行容器 docker ps # 查看所有容器包含停止的 docker ps -a # 运行容器 # --name 指定容器名称 -d 后台运行 -p 宿主机端口:容器端口 -e 设置环境变量 -v 挂载数据卷 docker run --name my-nginx -d -p 8080:80 nginx # 启动停止的容器 docker start 容器ID/容器名 # 停止运行中的容器 docker stop 容器ID/容器名 # 删除已经停止的容器 docker rm 容器ID/容器名 # 进入正在运行容器内部 docker exec -it 容器名 bash数据卷操作数据卷实现容器数据持久化容器销毁数据依然保留。# 列出所有数据卷 docker volume ls # 创建数据卷 docker volume create nginx_html # 删除数据卷 docker volume rm nginx_html文件拷贝 宿主机 ↔ 容器# 宿主机本地文件复制到容器 docker cp 本地路径 容器ID:容器内路径 # 容器文件复制到宿主机本地 docker cp 容器ID:容器内路径 本地路径镜像构建与推送 Docker Hub# 根据Dockerfile构建镜像 -t 指定镜像名:标签 docker build -t my-python:v1 . # 给镜像打tag用于推送hub docker tag my-python:v1 用户名/my-python:v1 # 登录Docker Hub docker login -u 你的用户名 # 推送镜像到仓库 docker push 用户名/my-python:v1Dockerfile 示例 (Python 项目)新建Dockerfile文件无后缀名FROM python:3.10-slim # 设置环境变量 ENV HOME/app \ PORT5000 # 设置工作目录 WORKDIR $HOME # 将requirements.txt复制到工作目录 COPY requirements.txt $HOME/requirements.txt # 安装依赖 RUN pip install -r requirements.txt # 复制当前目录下的所有文件到工作目录 COPY . /app # 暴露端口 EXPOSE $PORT # 运行程序 CMD [python, web.py]四、实战案例Nginx 自定义网页部署业务目标自定义 html 页面、自定义 Nginx 配置文件使用数据卷挂载Cloud Studio 预览访问网页。 注意Cloud Studio 不能直接访问容器内部端口需要映射宿主机端口在右上角端口面板打开预览。步骤 1创建项目文件在工作空间创建文件夹my_font存放网页和配置文件mkdir my_font cd my_fonthome.html自定义页面!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocker测试页面/title /head body h1ni hao 你好欢迎来到我的第一个镜像网页/h1 pCloud Studio Nginx Docker容器部署成功/p /body /htmlhome.conf自定义 nginx 配置server { listen 10000; root /usr/share/nginx/html; index home.html; }步骤 2创建数据卷docker volume create nginx_html docker volume create nginx_conf # 查看创建好的数据卷 docker volume ls步骤 3启动 Nginx 容器docker run --name nginx \ -d \ -p 9090:80 \ -p 7777:10000 \ -v nginx_html:/usr/share/nginx/html \ -v nginx_conf:/etc/nginx/conf.d/ \ nginx-p 9090:80宿主机 9090 端口映射容器 80 端口-p 7777:10000宿主机 7777 端口映射容器 10000 端口-v挂载两个数据卷页面文件、配置持久化步骤 4拷贝配置和网页文件到容器# 获取容器ID docker ps # 将本地文件复制进容器替换为你的实际容器ID docker cp my_font/home.html 容器ID:/usr/share/nginx/html docker cp my_font/home.conf 容器ID:/etc/nginx/conf.d/步骤 5重载 Nginx 配置生效docker exec -it 容器ID nginx -s reload步骤 6Cloud Studio 预览访问Cloud Studio 右上角打开端口面板分别打开9090和7777端口点击预览链接即可在浏览器看到页面。数据卷的优势后续重新创建新容器只要挂载这两个数据卷网页和配置数据依然存在不会丢失。五、常见踩坑总结Cloud Studio 重启工作空间Docker 服务停止需要重新执行sudo systemctl start docker命令拼写错误dockre、vlume属于手误正确为docker images、docker volume端口访问不了确认容器正常运行确认 Cloud Studio 端口面板打开对应端口检查 nginx 配置重载。文件复制不生效核对容器 ID、容器内路径Nginx 网页目录/usr/share/nginx/html配置目录/etc/nginx/conf.d/。权限不足命令前面加上sudo执行。六、总结Cloud Studio 在线环境非常适合学习 Docker不用折腾本地环境。 核心流程安装 Docker 引擎 → 掌握镜像、容器、数据卷命令 → 通过 Dockerfile 构建自定义镜像结合数据卷完成数据持久化。完成 Nginx 案例之后可以继续拓展 MySQL、Python 后端项目容器化部署