在Linux上快速安装和使用Docker容器指南

为什么选择Docker?

Docker已经成为现代软件开发和部署的重要工具。它通过容器化技术,让应用程序能够在任何环境中以相同的方式运行,解决了"在我机器上能跑"的经典问题。与虚拟机相比,Docker容器更加轻量级,启动更快,资源占用更少。

准备工作

Linux 中如何安装和使用 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 update
sudo 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 update
sudo 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 mynet
docker run -d --net mynet --name container1 image1
docker run -d --net mynet --name container2 image2

这样container1和container2可以通过容器名互相访问。

3. 构建自定义镜像

创建Dockerfile:

FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3
COPY . /app
WORKDIR /app
CMD ["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内存。

安全最佳实践

  1. 定期更新Docker和容器镜像
  2. 不要以root用户运行容器内的应用
  3. 限制容器的资源使用
  4. 使用最小化的基础镜像
  5. 扫描镜像中的安全漏洞
  6. 避免在镜像中存储敏感信息

总结

Docker为Linux环境下的应用部署提供了极大的便利。通过本文的指导,你应该已经掌握了Docker的安装、基本使用和一些高级技巧。随着实践的深入,你会发现Docker在开发、测试和生产环境中的更多应用场景。记住,容器化不是万能的,但它确实解决了许多传统部署方式中的痛点。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。