使用Docker搭建服务器需先安装Docker引擎,通过
docker pull
下载镜像,docker run
启动容器,可配置端口映射、挂载数据卷,利用docker ps
查看运行状态,docker stop
停止容器,适合快速服务器搭建与Docker使用详解
服务器环境准备
选择服务器类型
- 物理服务器:适合企业级部署,需自行采购硬件并安装操作系统。
- 云服务器(推荐):如阿里云、腾讯云、AWS等,按需购买配置,支持快速扩展。
- 推荐配置:
- CPU:2核及以上(如Intel Xeon或AMD EPYC)
- 内存:4GB及以上(根据容器数量调整)
- 存储:50GB以上(Docker镜像和容器数据占用空间较大)
- 操作系统:CentOS 7/8、Ubuntu 20.04 LTS(Linux系统兼容性最佳)
操作系统初始化
- 通过SSH远程连接服务器,更新系统包:
yum update -y # CentOS/RHEL apt update && apt upgrade -y # Ubuntu/Debian
- 设置防火墙(如
firewalld
或ufw
),开放必要端口(如22、80、443、3306等)。
- 通过SSH远程连接服务器,更新系统包:
Docker安装与配置
卸载旧版本Docker(如有)
sudo apt remove docker docker-engine docker.io containerd runc
安装Docker步骤
- CentOS/RHEL:
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io
- Ubuntu/Debian:
sudo apt install ca-certificates curl gnupg curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) 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 sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
- CentOS/RHEL:
启动Docker服务
sudo systemctl start docker sudo systemctl enable docker # 设置开机自启
验证安装
docker version # 查看Docker版本及客户端/服务器信息 docker info # 查看系统信息及Docker配置
Docker核心概念与操作
概念 | 说明 |
---|---|
镜像(Image) | 包含应用及其依赖的只读模板(如ubuntu:20.04 、nginx:latest )。 |
容器(Container) | 镜像的运行实例,隔离的独立环境。 |
仓库(Repository) | 存储镜像的地方(如Docker Hub、私有Registry)。 |
拉取镜像
docker pull [镜像名]:[标签] # docker pull mysql:8.0
运行容器
docker run -d --name mycontainer -p 8080:80 nginx:latest # 参数说明: # -d: 后台运行 # --name: 指定容器名称 # -p: 端口映射(宿主机:容器)
查看容器状态
docker ps # 查看运行中的容器 docker ps -a # 查看所有容器(包括停止的)
停止/启动容器
docker stop [容器ID] docker start [容器ID]
删除容器/镜像
docker rm [容器ID] # 删除容器 docker rmi [镜像ID] # 删除镜像 docker system prune # 清理所有未使用的镜像和容器
数据持久化与网络配置
数据卷(Volume)
- 作用:确保容器删除后数据不丢失。
- 挂载宿主机目录:
docker run -v /host/path:/container/path ... # docker run -v /data/mysql:/var/lib/mysql -d mysql:8.0
- 使用命名卷:
docker volume create myvolume docker run -v myvolume:/data ...
网络模式
- 桥接模式(Bridge):容器拥有独立IP,可互相通信。
- 主机模式(Host):容器直接使用宿主机网络(性能高,但隔离性差)。
- 自定义桥接网络:
docker network create --subnet=192.168.1.0/24 mynet docker run --network=mynet --ip=192.168.1.2 ...
实战案例:LNMP环境搭建
拉取镜像
docker pull nginx:latest docker pull mysql:8.0 docker pull php:7.4-fpm
运行MySQL容器
docker run -d --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql:/var/lib/mysql -p 3306:3306 mysql:8.0
运行PHP容器
docker run -d --name php7.4 -v /web:/var/www/html --link mysql8:mysql php:7.4-fpm
配置Nginx反向代理
- 将Nginx配置文件挂载到容器:
docker run -d --name nginx -p 80:80 -v /etc/nginx/conf.d:/etc/nginx/conf.d nginx:latest
- 在
/etc/nginx/conf.d/default.conf
中配置代理:server { listen 80; location / { proxy_pass http://php7.4:9000; } }
- 将Nginx配置文件挂载到容器:
FAQs(常见问题解答)
Q1:Docker命令提示“权限不足”?
A1:需将当前用户添加到docker
组:
sudo usermod -aG docker $USER newgrp docker # 立即生效
Q2:拉取镜像速度过慢?
A2:使用国内镜像加速器(以阿里云为例):
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"] } EOF sudo systemctl restart docker
小编有话说
Docker通过容器化技术极大降低了环境依赖问题,但需注意:
- 生产环境慎用
latest:建议指定固定版本(如
nginx:1.21
)。 - 资源限制:通过
--memory
和--cpus
参数限制容器资源。 - 安全备份:定期导出重要数据卷(
docker volume export myvolume > backup.tar
)。 - 进阶学习:掌握
Docker Compose
(编排多容器)、Kubernetes
(容器编排)和CI/
以上内容就是解答有关“服务器搭建daocker怎么用”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复