温馨提示×

怎样在centos用docker部署

小樊
37
2026-09-17 22:49:10
栏目: 智能运维

下面按从零开始的思路,给你一份在 CentOS 上使用 Docker 部署应用的实用指南(以 CentOS 7/8 为例,适用于大多数场景)。


一、准备工作(CentOS 系统)

1. 更新系统

sudo yum update -y

2. 安装必要工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

二、安装 Docker

1. 添加 Docker 官方源

sudo yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

2. 安装 Docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

3. 启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

4. 验证安装

docker version

三、常用基础配置(推荐)

1. 配置国内镜像加速(可选但很重要)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.m.daocloud.io"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

2. 当前用户免 sudo(可选)

sudo usermod -aG docker $USER

重新登录后生效


四、部署一个简单应用(示例:Nginx)

1. 拉取镜像

docker pull nginx

2. 运行容器

docker run -d --name my-nginx -p 80:80 nginx

3. 访问测试

浏览器访问:

http://服务器IP

五、使用 docker-compose 部署(推荐方式)

1. 安装 docker-compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

验证:

docker-compose version

2. 编写 docker-compose.yml

version: "3"
services:
  web:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html

3. 启动

docker-compose up -d

六、部署你自己的项目(示例)

示例:Node.js 项目

FROM node:18
WORKDIR /app
COPY . .
RUN npm install
EXPOSE 3000
CMD ["node", "app.js"]

构建并运行:

docker build -t my-app .
docker run -d -p 3000:3000 my-app

七、常用 Docker 命令速查

docker ps                # 查看运行容器
docker ps -a             # 查看所有容器
docker images            # 查看镜像
docker logs 容器名        # 查看日志
docker stop 容器名
docker rm 容器名
docker rmi 镜像名

八、常见注意点(CentOS 特有)

✅ 防火墙

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload

✅ SELinux(如遇权限问题)

sudo setenforce 0

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 要部署什么(Web / 数据库 / Java / Python / 前后端)

我可以给你针对性的部署方案 + 示例配置

0