Docker 容器简介

Docker 是一种开源的容器化平台,能够实现软硬件的解耦,提供了一种轻量级的虚拟化解决方案。其核心思想是将应用及其依赖项打包在一个称为容器的独立单元中,从而确保无论在何种环境中,应用都能以相同的方式运行。本文将介绍 Docker 容器的基本操作,包括安装、创建、管理和优化容器。
Docker 安装步骤
适用于不同操作系统的安装
根据你的操作系统选择相应的安装方式:
- 在 Ubuntu 上安装 Docker:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
- 在 CentOS 上安装 Docker:
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce
- 在 Windows 上安装 Docker:
访问 Docker 官方网站下载 Docker Desktop,安装时按默认选项进行操作即可。
- 在 macOS 上安装 Docker:
同样访问 Docker 官方网站下载 Docker Desktop,按照默认选项进行安装。
启动 Docker 服务
安装完成后,可以使用以下命令启动 Docker 服务:
sudo systemctl start docker
sudo systemctl enable docker
基本的 Docker 容器操作
创建和运行容器
运行一个简单的 Ubuntu 容器可以使用以下命令:
docker run -it ubuntu /bin/bash
其中:
- docker run:指令用于创建并运行容器。
- -it:允许你以交互模式运行容器,并分配一个伪终端。
- ubuntu:指定要使用的镜像。
- /bin/bash:指定要运行的命令。
查看容器列表
要查看正在运行的容器,可以使用以下命令:
docker ps
如果要查看所有容器(包括已停止的),可以添加 -a 选项:
docker ps -a
停止和删除容器
停止一个正在运行的容器:
docker stop
要删除容器,首先需要停止它:
docker rm
管理 Docker 镜像
拉取镜像
可以使用以下命令从 Docker Hub 拉取官方镜像:
docker pull ubuntu
删除镜像
要删除本地镜像,可以使用:
docker rmi
Dockerfile 和自定义镜像
编写 Dockerfile
Dockerfile 是定义镜像构建过程的文件。以下是一个简单的 Dockerfile 示例:
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3
CMD ["python3"]
在同一目录下使用以下命令构建镜像:
docker build -t my-python-app .
注意事项和实用技巧
资源管理
在使用 Docker 时,需要注意控制容器的资源使用。可以使用以下选项来限制容器的CPU和内存使用:
- –cpus:限制容器使用的CPU数量。
- –memory:限制容器的内存使用。
例如,限制容器使用1个CPU和512MB内存:
docker run --cpus="1" --memory="512m" my-python-app
网络管理
Docker 提供了多种网络模式,以便在容器之间进行通信。其中常用的有桥接网络和主机网络。可以使用以下命令创建自定义网络:
docker network create my-network
然后在运行容器时指定网络:
docker run --network my-network my-python-app
日志管理
可以使用以下命令查看容器的日志:
docker logs
容器数据持久化
为了在容器重启或删除后保留数据,可以使用 Docker 卷来实现数据持久化。创建卷的命令如下:
docker volume create my-volume
在运行容器时挂载卷:
docker run -v my-volume:/data my-python-app
常见问题及解决方案
容器无法启动
检查以下几点:
- 确保镜像存在,可以通过 docker images 查看。
- 检查容器的日志(docker logs)以获取错误信息。
资源不足
如果遇到性能问题,可以考虑:
- 优化 Dockerfile,减少镜像的大小。
- 检查容器的资源使用情况,并调整限制。
网络问题
如果容器无法访问外部网络,检查网络设置及防火墙规则。
总结
Docker 容器是一种强大的工具,能够帮助开发人员以简洁、高效的方式构建、分发和运行应用程序。通过掌握 Docker 的基本操作和常见技巧,你将能够更好地利用这一工具,提升你的开发和部署效率。







