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

docker的部署与安装以及部署一个docker(容器)应用及docker容器常出现的问题

        docker 架构图

        

一、docker的部署与安装

1、在 CentOS 上安装 Docker

移除旧版本(如果有的话):
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

2、安装依栏包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3、添加 Docker CE 仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、安装 Docker CE

sudo yum install docker-ce

5、启动 Docker 服务

sudo systemctl start docker

6、设置 Docker 服务开机自启

sudo systemctl enable docker

7、验证安装

sudo docker run hello-world

二、在docker上部署应用以及docker的使用

1. 准备 Docker 环境

确保你已经安装了 Docker。可以通过运行 docker --version 来检查是否安装并启动了 Docker 服务。

2. 构建或获取 Docker 镜像

如果你的应用程序已经是一个 Docker 镜像,你可以直接从 Docker Hub 或其他容器镜像仓库获取它。否则,你需要创建一个 Dockerfile 来构建你的镜像。

创建 Dockerfile

在应用程序的根目录下创建一个名为 Dockerfile 的文件,它定义了如何构建你的 Docker 镜像。例如:

# 使用官方 Python 运行时作为父镜像 FROM python:3.8-slim # 将工作目录设置为 /app WORKDIR /app # 将当前目录内容复制到位于 /app 的容器中 COPY . /app # 安装 requirements.txt 中指定的任何所需包 RUN pip install --trusted-host pypi.python.org -r requirements.txt # 使端口 80 可供此容器外的环境使用 EXPOSE 80 # 定义环境变量 ENV NAME World # 在容器启动时运行 app.py CMD ["python", "app.py"]

构建镜像

docker build -t your-app-name .

3. 运行 Docker 容器

使用以下命令来基于你的 Docker 镜像运行一个容器:

docker run -d -p 4000:80 your-app-name

这里 -d 标志代表后台运行,-p 标志将宿主机的 4000 端口映射到容器的 80 端口。

4. 访问应用

如果你的应用程序是一个 web 应用,你可以通过浏览器访问它。如果端口映射到了宿主机的端口,你可以通过 http://localhost:4000 来访问应用

5. 管理 Docker 容器

你可以使用以下命令来管理你的 Docker 容器:

  • 查看运行中的容器:docker ps
  • 查看所有容器(包括停止的):docker ps -a
  • 停止容器:docker stop <container-id或name>
  • 启动容器:docker start <container-id或name>
  • 删除容器:docker rm <container-id或name>

6. 监控和日志

你可以使用以下命令来监控容器的日志和资源使用情况:

  • 查看日志:docker logs <container-id或name>
  • 实时监控日志:docker logs -f <container-id或name>
  • 查看资源使用情况:docker stats <container-id或name>

7. 存储和数据持久化

如果你需要持久化数据或存储状态,你可以使用 Docker 卷或绑定挂载来实现。

使用 Docker 卷

docker run -d -p 4000:80 --name my-container -v /path/to/volume your-app-name

使用绑定挂载

docker run -d -p 4000:80 --name my-container your-app-name /path/to/app:/app

三、docker容器常出现的问题

1、启动失败:容器启动失败可能是由于镜像下载失败、容器依赖问题、资源不足(如CPU、内存、存储空间)、端口冲突、系统限制(如ulimit设置)等原因。

2、容器无法连接网络:这可能是由于网络配置错误,如网络模式不正确,或者容器内的网络设置有问题。

3、容器内部进程退出:如果容器内的主要进程退出,Docker会停止容器。这通常是因为进程收到了信号,如终端窗口关闭,或者是因为容器配置的问题,如环境变量设置不当。

4、** images 文件损坏**:下载的镜像文件可能因为网络问题或镜像源不稳定而损坏,导致无法正确加载。

5、存储空间不足:Docker容器会在宿主机的文件系统中创建一层存储空间,如果宿主机的空间不足,可能会导致问题。

6、性能问题:Docker容器在运行时可能会受到宿主机资源的限制,如CPU和内存限制过低,或者容器间资源争用。

7、安全问题:如果不当心,容器可能会暴露敏感数据,或者因为未更新的镜像而受到安全漏洞的威胁。

8、容器之间通信困难:即使是在同一台宿主机上的容器,如果网络配置不当,也可能导致容器间通信困难。

9、日志管理困难:Docker容器可能会产生大量的日志,管理这些日志,尤其是定位问题日志,可能是一个挑战。

10、状态持久化困难:由于容器设计为无状态,对于需要状态持久化的应用,需要额外的考虑和配置。

当遇到问题时,可以通过以下步骤进行排查和解决:

(1)查看日志:使用docker logs [container_id]查看容器日志。

(2)查看状态:使用docker ps查看容器状态。

(3)查看资源使用情况:使用docker stats查看容器的资源使用情况。

(4)检查网络配置:使用docker network命令检查网络配置。

(5)查看Docker配置:检查/etc/docker/目录下的配置文件。

(6)使用Docker命令行工具:Docker提供了丰富的命令行工具帮助管理和调试容器。

http://www.lryc.cn/news/323162.html

相关文章:

  • harmonyOS简介及背景
  • 最新,955神仙公司名单(非外企)
  • 牛客周赛 Round 37 C.红魔馆的馆主
  • AWS监控,AWS 性能监控工具
  • PHP姓名快速匿名化工具(重组脱敏)
  • JAVA后端调用OpenAI接口 实现打字机效果(SSE)
  • 超店建站携手太洋物产,共建跨境生意增长解决方案
  • 提高企业员工生产力的办法
  • XML Data – Semi-Structured Data XML 数据 - 半结构化数据
  • Python自动化之如何利用allure生成测试报告
  • 【晴问算法】入门篇—贪心算法—区间不相交问题
  • WPF意外无法启动?try-catch也无法捕捉?0xc0000409?
  • 微服务day05(中) -- ES索引库操作
  • AI智能电销机器人可以做哪些事情呢?智能机器人搭建
  • 别踩坑!2024年小红书代写代发机构选择指南!
  • 数据出路 -----pandas
  • Win11右键菜单定制
  • 将深度图转成2D激光
  • rust学习笔记(8-12)
  • JetPack之DataBinding基础使用
  • 设计模式学习笔记 - 设计原则与思想总结:2.运用学过的设计原则和思想完善之前性能计数器项目
  • docker入门(八)—— dockerfile详细介绍,编写dockerfile
  • 机器学习复习(9)——自定义dataset
  • 【Redis】缓存穿透
  • 编程出现bug?怎么用Python打印异常
  • P1958 上学路线
  • Android14之HIDL报错:Invalid sparse file format at header magic(一百九十六)
  • 旭日x3派目标跟随小车
  • 金潮实业邀您参观2024长三角快递物流展览会
  • 【超细完整版】C# WebService 通过URL生成WSDL文件和DLL文件 【生成篇】