使用 yum 安装(适用于centos7)
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
sudo systemctl enable docker
sudo systemctl start docker
docker run hello-world
教程地址:毫秒镜像
搜索镜像
docker search nginx --limit 3
下载镜像 [重要]
docker pull nginx
列出镜像 [重要]
docker images
删除本地镜像 [重要]
phpdocker rmi <镜像id或镜像仓库名>
构建镜像 [重要]
docker build .
新建并启动容器 [重要]
docker run
-d # 后台运行
-p # 指定端口映射
-P # 随机端口
示例:
docker run -d -p 8080:80 --name my-nginx nginx
列出容器 [重要]
列出运行中的容器:
docker ps
列出所有的容器:
docker ps -a
进入容器 [重要]
docker exec -it <容器id> /bin/bash
示例:进入 Nginx 容器内部,找到 Nginx 首页文件。
停止容器 [重要]
docker stop <容器id>
启动已停止的容器 [重要]
docker start <容器id>
重启容器 [重要]
docker restart <容器id>
强制停止容器 [重要]
docker kill <容器id>
删除容器 [重要]
docker rm <容器id>
列出所有的容器 ID
docker ps -aq
停止所有的容器
docker stop $(docker ps -aq)
删除所有的容器
docker rm $(docker ps -aq)
删除所有的镜像
docker rmi $(docker images -q)
安装flask
pip install Flask
新建app.py,输入如下代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return '服务器部署成功'
@app.route('/yi/2',methods=['GET','POST'])
def main():
pass
if __name__ == '__main__':
# 设置 debug=True 方便开发时调试
app.run(port=5000,host='0.0.0.0')
上传 dist 文件夹
使用 SSH 工具将app及其根目录下的代码传到服务器。
创建并编辑 Dockerfile
在 /root/vue3
目录下创建 Dockerfile
文件:
# 使用官方 Python 3.9 镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /
# 复制依赖文件
COPY ./requirements.txt /requirements.txt
# 修改 pip 源为清华源并安装依赖
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
pip install --no-cache-dir -r requirements.txt
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 复制整个项目到容器
COPY . /
# 使用 python 启动服务
CMD ["python", "app.py"]
创建 requirements.txt 配置文件
在 app.py 同级目录目录下创建 requirements.txt
文件,存放python的配置文件:
requests~=2.32.3
ddddocr~=1.5.5
numpy~=2.0.2
flask~=3.1.0
PyExecJS2~=1.6.1
curl-cffi~=0.7.1
构建镜像
docker build -t docker_flask .
运行容器
docker run -d -p 5000:5000 --name docker_flask docker_flask
访问 http://<服务器地址>:5000
查看部署成功的 flask 项目。
本地创建 Vue3 项目
npm create vite@latest
cd <project-folder>
npm install
npm run dev
项目打包构建
npm run build
在根目录生成 dist
目录。
上传 dist 文件夹
使用 SSH 工具将 dist
文件夹上传到服务器指定目录,例如 /root/vue3
。
创建并编辑 Dockerfile
在 /root/vue3
目录下创建 Dockerfile
文件:
FROM nginx
COPY dist/ /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
创建 Nginx 配置文件
在 /root/vue3
目录下创建 default.conf
文件:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
# 处理 SPA 路由
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
构建镜像
docker build -t vue-docker-demo .
运行容器
docker run -d -p 8080:80 --name docker-vue vue-docker-demo
访问 http://<服务器地址>:8080
查看部署成功的 Vue3 项目。
创建 SpringBoot 项目
编写一个基本接口 /hello
。
打包项目
mvn clean package
将打包的 demo.jar
包上传到服务器目录,例如 /root/boot3
。
创建并编辑 Dockerfile
在 /root/boot3
目录下创建 Dockerfile
文件:
# 使用官方 OpenJDK 镜像
FROM openjdk:17-jdk-slim
# 设置工作目录
WORKDIR /app
# 将 JAR 包复制到容器中
COPY demo.jar app.jar
# 暴露服务端口
EXPOSE 8080
# 启动 Spring Boot 应用
ENTRYPOINT ["java", "-jar", "app.jar"]
构建镜像
docker build -t springboot3-app .
运行容器
docker run -d -p 8081:8080 --name docker-boot3 springboot3-app
访问 http://<服务器地址>:8081/hello
查看部署成功的 SpringBoot 项目。
—— 评论区 ——