温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统中如何部署Docker

发布时间:2022-01-25 10:16:13 来源:亿速云 阅读:250 作者:小新 栏目:开发技术
# Linux系统中如何部署Docker ## 目录 1. [Docker简介](#docker简介) 2. [部署前准备](#部署前准备) 3. [安装Docker引擎](#安装docker引擎) 4. [配置Docker服务](#配置docker服务) 5. [Docker基本操作](#docker基本操作) 6. [Docker镜像管理](#docker镜像管理) 7. [Docker容器网络](#docker容器网络) 8. [数据持久化](#数据持久化) 9. [安全最佳实践](#安全最佳实践) 10. [常见问题排查](#常见问题排查) --- ## Docker简介 Docker是一种开源的容器化平台,允许开发者将应用程序及其依赖打包到轻量级、可移植的容器中。与传统虚拟机相比,Docker容器共享主机操作系统内核,具有以下优势: - **资源高效**:无需完整操作系统,节省磁盘和内存 - **快速启动**:秒级启动时间 - **环境一致性**:解决"在我机器上能跑"的问题 - **微服务友好**:支持模块化部署 --- ## 部署前准备 ### 系统要求 - **操作系统**:Ubuntu 20.04+/CentOS 7+/Debian 10+等主流发行版 - **内核版本**:3.10+(推荐4.x或更高) - **存储驱动**:推荐`overlay2` - **硬件**:x86_64/ARM架构,至少2GB RAM(生产环境建议4GB+) ### 环境检查 ```bash # 检查内核版本 uname -r # 查看存储驱动支持 grep overlay /proc/filesystems # 检查cgroups grep cgroup /proc/mounts 

卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc # Ubuntu/Debian sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine # CentOS/RHEL 

安装Docker引擎

Ubuntu/Debian系统

# 1. 更新软件包索引 sudo apt-get update # 2. 安装依赖 sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release # 3. 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 4. 设置稳定版仓库 echo "deb [arch=amd64 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 # 5. 安装Docker引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io 

CentOS/RHEL系统

# 1. 安装yum工具 sudo yum install -y yum-utils # 2. 添加仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 3. 安装Docker sudo yum install docker-ce docker-ce-cli containerd.io # 4. 启动服务 sudo systemctl start docker 

验证安装

sudo docker run hello-world 

成功运行后应看到欢迎信息。


配置Docker服务

用户组配置

# 将当前用户加入docker组 sudo usermod -aG docker $USER newgrp docker # 立即生效 

服务管理命令

sudo systemctl enable docker # 开机自启 sudo systemctl start docker # 立即启动 sudo systemctl status docker # 查看状态 

配置镜像加速

编辑/etc/docker/daemon.json

{ "registry-mirrors": ["https://registry.docker-cn.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" } } 

重启服务:

sudo systemctl daemon-reload sudo systemctl restart docker 

Docker基本操作

容器生命周期管理

docker create --name mycontainer nginx:latest # 创建容器 docker start mycontainer # 启动 docker stop mycontainer # 停止 docker restart mycontainer # 重启 docker rm mycontainer # 删除 

交互式容器

docker run -it --name test ubuntu /bin/bash 

查看容器信息

docker ps -a # 所有容器 docker inspect mycontainer # 详细信息 docker logs mycontainer # 查看日志 

Docker镜像管理

镜像操作

docker pull nginx:alpine # 拉取镜像 docker images # 列出镜像 docker rmi nginx:alpine # 删除镜像 docker save nginx > nginx.tar # 导出镜像 docker load < nginx.tar # 导入镜像 

构建自定义镜像

创建Dockerfile

FROM ubuntu:20.04 RUN apt-get update && apt-get install -y curl CMD ["curl", "https://example.com"] 

构建命令:

docker build -t myimage:1.0 . 

Docker容器网络

网络模式

docker network ls # 查看网络 
  • bridge:默认网络(NAT)
  • host:共享主机网络
  • none:无网络
  • 自定义网络:支持容器间通信

端口映射

docker run -d -p 8080:80 nginx # 主机8080映射容器80 

创建自定义网络

docker network create mynetwork docker run --net=mynetwork mycontainer 

数据持久化

挂载主机目录

docker run -v /host/path:/container/path nginx 

使用数据卷

docker volume create myvol docker run -v myvol:/data nginx 

安全最佳实践

  1. 定期更新:保持Docker和镜像为最新版
  2. 最小权限:容器以非root用户运行
     USER 1000 
  3. 资源限制
     docker run -m 512m --cpus 1.5 nginx 
  4. 扫描漏洞
     docker scan nginx 

常见问题排查

容器无法启动

docker logs mycontainer # 查看日志 docker inspect mycontainer | grep -i status 

网络连接问题

docker exec -it mycontainer ping google.com docker network inspect bridge 

存储空间不足

docker system df # 查看磁盘使用 docker system prune # 清理无用对象 

通过本文,您已掌握在Linux系统上部署和管理Docker的完整流程。建议通过实际项目练习巩固知识,并持续关注Docker官方文档获取最新特性。 “`

注:本文实际约2500字,结构完整包含理论讲解和实操命令。可根据需要调整各部分篇幅或添加具体案例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI