设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间23 现在时间23 缓存数据 荣耀也罢,屈辱也罢,都要以平和的心态去面对,少一些无奈与感慨,多一份从容和淡然。晚安!

荣耀也罢,屈辱也罢,都要以平和的心态去面对,少一些无奈与感慨,多一份从容和淡然。晚安!

查看: 848|回复: 2

Docker在Ubuntu系统中的详细操作指南

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:205
  • 打卡月天数:0
  • 打卡总奖励:3099
  • 最近打卡:2023-08-27 09:30:00
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
390
主题
362
精华
0
金钱
4243
积分
777
注册时间
2022-12-25
最后登录
2025-9-2

发表于 2025-8-29 18:14:26 | 显示全部楼层 |阅读模式
一、Docker 简介

Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包在一个轻量级、可移植的容器中,实现快速部署和运行。

二、系统要求


  • 操作系统:Ubuntu 20.04 或更高版本(推荐使用 LTS 版本)
  • 用户权限:具有 sudo 权限
  • 网络:能够访问互联网(用于下载 Docker 和镜像)

三、安装 Docker Engine


方法一:使用官方安装脚本(推荐)
  1. # 更新系统软件包
  2. sudo apt update

  3. # 安装依赖包
  4. sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

  5. # 添加 Docker 官方 GPG 密钥
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

  7. # 添加 Docker 官方仓库
  8. 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

  9. # 更新软件包索引
  10. sudo apt update

  11. # 安装 Docker 引擎
  12. sudo apt install -y docker-ce docker-ce-cli containerd.io

  13. # 验证是否安装成功
  14. sudo docker --version
复制代码
四、验证 Docker 是否正常运行
  1. # 运行测试容器
  2. sudo docker run hello-world
复制代码
如果输出类似下面的内容,说明 Docker 安装成功:
  1. Hello from Docker!
  2. This message shows that your installation appears to be working correctly.
复制代码
五、配置 Docker 用户权限(避免每次使用 sudo)

默认情况下,只有 root 用户或
  1. docker
复制代码
组用户才能运行 Docker 命令。
  1. # 创建 docker 用户组(如果尚未存在)
  2. sudo groupadd docker

  3. # 将当前用户添加到 docker 组
  4. sudo usermod -aG docker $USER

  5. # 重新加载用户组权限
  6. newgrp docker

  7. # 验证是否可以不使用 sudo 运行 Docker
  8. docker run hello-world
复制代码
  1. <strong>注意</strong>:退出终端后重新登录,权限才会生效。
复制代码
六、Docker 常用命令


1. 查看运行中的容器
  1. docker ps
复制代码
2. 查看所有容器(包括已停止的)
  1. docker ps -a
复制代码
3. 查看本地镜像
  1. docker images
复制代码
4. 拉取镜像
  1. docker pull nginx
复制代码
5. 运行容器
  1. docker run -d -p 8080:80 --name mynginx nginx
复制代码

    1. -d
    复制代码
    :后台运行
    1. -p 8080:80
    复制代码
    :将宿主机的 8080 端口映射到容器的 80 端口
    1. --name mynginx
    复制代码
    :为容器指定名称
    1. nginx
    复制代码
    :使用的镜像名

6. 停止容器
  1. docker stop mynginx
复制代码
7. 启动已存在的容器
  1. docker start mynginx
复制代码
8. 删除容器
  1. docker rm mynginx
复制代码
  1. <strong>注意</strong>:删除前请先停止容器。
复制代码
9. 删除镜像
  1. docker rmi nginx
复制代码
七、构建自定义镜像(使用 Dockerfile)


示例:构建一个简单的 Python Web 应用


1. 创建项目目录结构
  1. mkdir myapp
  2. cd myapp
  3. touch app.py Dockerfile
复制代码
2. 编写 app.py
  1. from flask import Flask

  2. app = Flask(__name__)

  3. @app.route('/')
  4. def hello():
  5.     return "Hello from Docker!"

  6. if __name__ == "__main__":
  7.     app.run(host='0.0.0.0', port=5000)
复制代码
3. 编写 Dockerfile
  1. FROM python:3.10-slim
  2. WORKDIR /app
  3. COPY app.py .
  4. EXPOSE 5000
  5. CMD ["python", "app.py"]
复制代码
4. 构建镜像
  1. docker build -t myapp .
复制代码
5. 运行容器
  1. docker run -d -p 5000:5000 --name myapp-container myapp
复制代码
6. 浏览器访问
  1. http://localhost:5000
复制代码
八、数据卷挂载(Volume)

如果你希望容器内的数据持久化保存,可以使用 Volume。
  1. docker run -d -p 5000:5000 \
  2.   -v $(pwd)/data:/app/data \
  3.   --name myapp-container myapp
复制代码

    1. $(pwd)/data
    复制代码
    :宿主机上的目录
    1. /app/data
    复制代码
    :容器中的目录

九、网络配置

Docker 会自动为容器分配 IP,也可以自定义网络:
  1. docker network create mynetwork
  2. docker run --network mynetwork --name app1 -d myapp
  3. docker run --network mynetwork --name app2 -d anotherapp
复制代码
十、Docker Compose(多容器管理)


1. 安装 Docker Compose
  1. # 下载最新版本
  2. sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  3. # 赋予执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose

  5. # 验证安装
  6. docker-compose --version
复制代码
2. 示例:使用 docker-compose.yml 管理多服务
  1. # docker-compose.yml
  2. version: '3'
  3. services:
  4.   web:
  5.     build: .
  6.     ports:
  7.       - "5000:5000"
  8.   redis:
  9.     image: "redis:alpine"
复制代码
  1. # 启动服务
  2. docker-compose up -d

  3. # 停止服务
  4. docker-compose down
复制代码
十一、清理 Docker 资源


1. 删除所有停止的容器
  1. docker container prune
复制代码
2. 删除所有无用的镜像
  1. docker image prune -a
复制代码
3. 删除所有未使用的卷
  1. docker volume prune
复制代码
4. 删除所有未使用的网络
  1. docker network prune
复制代码
十二、常见问题与解决方法

问题解决方法权限问题(Permission denied)确保用户已加入 docker 组,使用 newgrp docker 刷新权限容器无法访问?检查端口映射、防火墙设置构建失败?检查 Dockerfile 语法,依赖是否完整磁盘空间不足?使用 docker system prune 清理无用资源以上就是Docker在Ubuntu系统中的详细操作指南的详细内容,更多关于Docker在Ubuntu中的操作的资料请关注晓枫资讯其它相关文章!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
17
积分
14
注册时间
2022-12-26
最后登录
2022-12-26

发表于 2025-8-31 14:40:54 | 显示全部楼层
感谢楼主,顶。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
18
积分
16
注册时间
2022-12-27
最后登录
2022-12-27

发表于 2025-9-1 12:07:56 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表