在Linux中使用容器技术(如Docker、Podman或LXC)可以实现轻量级虚拟化、快速部署和隔离应用环境。以下是详细指南:
# 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 添加Docker官方GPG密钥
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"
# 安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 验证安装
sudo docker run hello-world
sudo apt-get update
sudo apt-get install podman
sudo apt-get install lxc lxc-templates
# 拉取镜像(如Ubuntu)
docker pull ubuntu:20.04
# 运行交互式容器
docker run -it --name my_container ubuntu:20.04 /bin/bash
# 列出运行中的容器
docker ps
# 停止/启动容器
docker stop my_container
docker start my_container
# 删除容器
docker rm my_container
# 构建自定义镜像(通过Dockerfile)
docker build -t my_image .
# 创建容器
sudo lxc-create -n my_lxc -t download -- --dist ubuntu --release focal --arch amd64
# 启动容器
sudo lxc-start -n my_lxc
# 进入容器
sudo lxc-attach -n my_lxc
bash
docker run -d -p 8080:80 nginx
bash
docker network create my_network
docker run --network=my_network my_image
bash
docker run -v /host/path:/container/path my_image
bash
docker volume create my_volume
docker run -v my_volume:/data my_image
Docker Compose:定义多容器应用。
# docker-compose.yml 示例
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
启动:
docker-compose up -d
Kubernetes:大规模容器编排(需额外安装kubeadm/minikube)。
bash
podman run --user 1000:1000 ubuntu
bash
docker run --memory=1g --cpus=2 my_image
bash
docker run --read-only my_image
# 查看容器日志
docker logs my_container
# 监控资源使用
docker stats
# 检查容器详情
docker inspect my_container
docker
组:
bash
sudo usermod -aG docker $USER
newgrp docker # 立即生效
bash
docker system prune -a
bash
sudo systemctl restart docker
通过以上步骤,您可以高效地在Linux中部署和管理容器。根据需求选择工具,并遵循安全最佳实践。