Linux中如何安装和使用 Docker 容器
近期有些网友想要了解的相关情况,小编通过整理给您分享一下。
为什么选择Docker?
Docker已经成为现代软件开发和部署的重要工具。它通过容器化技术,让应用程序能够在任何环境中以相同的方式运行,解决了"在我机器上能跑"的经典问题。与虚拟机相比,Docker容器更加轻量级,启动更快,资源占用更少。
准备工作

在开始安装Docker之前,确保你的Linux系统满足以下基本要求:
- 64位操作系统
- 内核版本3.10或更高
- 已安装curl或wget工具
- 拥有sudo权限的用户账户
可以通过运行uname -r
命令来检查你的内核版本。如果版本低于3.10,建议先升级系统内核。
Docker安装步骤
1. 卸载旧版本(如有)
如果你之前安装过Docker,建议先卸载旧版本:
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 设置Docker仓库
首先更新软件包索引并安装必要的依赖:
sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
然后添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
接下来设置稳定版仓库:
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
3. 安装Docker引擎
更新apt包索引后安装最新版本的Docker引擎:
sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io
4. 验证安装
安装完成后,运行以下命令验证Docker是否正确安装:
sudo docker run hello-world
如果看到"Hello from Docker!"的消息,说明安装成功。
Docker基本使用
1. 管理Docker服务
启动Docker服务:
sudo systemctl start docker
设置开机自启:
sudo systemctl enable docker
查看Docker状态:
sudo systemctl status docker
2. 运行第一个容器
尝试运行一个Nginx容器:
sudo docker run -d -p 80:80 --name mynginx nginx
这个命令会:
- 从Docker Hub下载最新的nginx镜像(如果本地没有)
- 创建一个名为mynginx的容器
- 将容器的80端口映射到主机的80端口
- 在后台运行容器
3. 常用Docker命令
查看运行中的容器:
docker ps
查看所有容器(包括停止的):
docker ps -a
停止容器:
docker stop 容器名或ID
启动已停止的容器:
docker start 容器名或ID
删除容器:
docker rm 容器名或ID
查看本地镜像:
docker images
删除镜像:
docker rmi 镜像名或ID
高级使用技巧
1. 数据持久化
默认情况下,容器内的数据会在容器删除后丢失。要实现数据持久化,可以使用卷(volume):
docker run -d -v /宿主机路径:/容器路径 --name 容器名 镜像名
2. 容器互联
创建网络并让容器加入同一网络:
docker network create mynetdocker run -d --net mynet --name container1 image1docker run -d --net mynet --name container2 image2
这样container1和container2可以通过容器名互相访问。
3. 构建自定义镜像
创建Dockerfile:
FROM ubuntu:20.04RUN apt-get update && apt-get install -y python3COPY . /appWORKDIR /appCMD ["python3", "app.py"]
构建镜像:
docker build -t myimage .
常见问题解决
1. 权限问题
默认情况下,运行Docker命令需要sudo权限。可以将用户加入docker组来避免每次输入sudo:
sudo usermod -aG docker $USER
然后注销并重新登录使更改生效。
2. 镜像下载慢
可以配置国内镜像加速器。编辑或创建/etc/docker/daemon.json
文件:
{ "registry-mirrors": ["https://registry.docker-cn.com"]}
然后重启Docker服务:
sudo systemctl restart docker
3. 容器资源限制
可以通过参数限制容器使用的资源:
docker run -it --cpus="1.5" --memory="512m" ubuntu
这将限制容器最多使用1.5个CPU核心和512MB内存。
安全最佳实践
- 定期更新Docker和容器镜像
- 不要以root用户运行容器内的应用
- 限制容器的资源使用
- 使用最小化的基础镜像
- 扫描镜像中的安全漏洞
- 避免在镜像中存储敏感信息
总结
Docker为Linux环境下的应用部署提供了极大的便利。通过本文的指导,你应该已经掌握了Docker的安装、基本使用和一些高级技巧。随着实践的深入,你会发现Docker在开发、测试和生产环境中的更多应用场景。记住,容器化不是万能的,但它确实解决了许多传统部署方式中的痛点。
推荐阅读
-
容器化最佳实践:Docker 与 Kubernetes 在微服务架构中的协同设计
-
Docker 镜像优化指南:分层构建、瘦身技巧与多阶段编译实践
-
Docker 新手入门:容器创建、镜像打包与数据卷管理基础
-
Docker 容器 CPU 占用过高:资源限制策略与进程分析工具使用
-
IntelliJ IDEA 远程开发:连接 SSH 服务器与 Docker 容器的配置指南
IntelliJIDEA远程开发:连接SSH服务器与Docker容器的配置指南在现代软件开发中,远程开发已经成为一种常...
-
用 VS Code+Docker 构建全栈开发环境:从本地调试到云端部署全流程
-
Docker 镜像分层原理:UnionFS 机制与缓存利用最佳实践
-
IntelliJ IDEA+Docker:微服务项目的本地调试与容器化部署流程
-
Docker Desktop 4.20 新特性:Kubernetes 集成增强与资源监控优化
-
Web 开发全栈工具:WebStorm+Postman+Docker 的前后端联调实践