Centos7.9的docker安装python web服务

1.云服务器Centos7.9的docker安装

sudo yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker

2.在root目录下新建test文件夹。
2.1新建app.py

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!!!docker"
if __name__ == "__main__":
    app.run(host='0.0.0.0', port=81)

2.2新建requirements.txt
#pip freeze > requirements.txt会造成整个环境都拷过来,建议用virtualenv

Flask==1.0.2 

2.3新建dockerfile(无后缀)

FROM python:3.7 
# 设置代码文件夹工作目录 /app
WORKDIR /app
# 复制当前代码文件到容器中 /app
ADD . /app
# 安装所需的包,timeout解决方案设置国内源并缺省时间变长。
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=5000
# Run app.py when the container launches
CMD ["python", "./app.py"]

3.build自己的镜像

cd /root/test
docker build -t hello:1.0 .

#1.0为版本号,最后的.一定不能忘记,表示当前目录。hello为images
4.运行镜像hello,生成并启动容器

docker run -d -p 81:81 hello:1.0

5.浏览器输入云服务器ip:81,就出现Hello World!!!docker

### 安装 Docker 要在 CentOS 7.9 服务器上安装 Docker,可以按照以下步骤进行操作: 1. **安装依赖工具包** 在安装 Docker 之前,需要安装一些必要的依赖包以确保 Docker 能够正常运行。执行以下命令安装这些依赖: ```bash sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 这一步是安装 Docker 所需的基础依赖项,确保系统能够支持 Docker 的运行环境[^4]。 2. **添加 Docker YUM 源** 为了提高下载速度,可以选择使用国内的 Docker 镜像源。例如,使用阿里云的 Docker 镜像源: ```bash sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ``` 添加镜像源后,可以更快速地从国内服务器下载 Docker 安装包[^5]。 3. **更新 YUM 缓存并安装 Docker** 更新 YUM 缓存以确保能够获取最新的软件包信息,然后安装 Docker: ```bash sudo yum makecache fast sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` 上述命令将安装 Docker 的核心组件,包括 Docker 引擎、CLI 工具、containerd 以及相关的插件[^1]。 4. **启动 Docker 服务并设置开机自启** 安装完成后,启动 Docker 服务并设置其开机自启: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 这样可以确保 Docker 服务在系统重启后仍然处于运行状态。 5. **验证 Docker 安装** 通过运行一个简单的测试容器来验证 Docker 是否安装成功: ```bash sudo docker run hello-world ``` 如果一切正常,将会看到一条欢迎信息,表明 Docker 已经成功安装并运行。 ### 使用 Docker 安装Docker 后,可以开始使用 Docker 来部署和管理容器化应用。 1. **基本命令** Docker 提供了一系列命令来管理和操作容器。以下是一些常用的 Docker 命令: - **查看正在运行的容器**: ```bash docker ps ``` - **查看所有容器(包括停止的)**: ```bash docker ps -a ``` - **停止一个正在运行的容器**: ```bash docker stop <container_id> ``` - **启动一个已经存在的容器**: ```bash docker start <container_id> ``` - **删除一个容器**: ```bash docker rm <container_id> ``` 2. **构建和运行自定义镜像** 可以通过编写 Dockerfile 来构建自定义的镜像,并使用该镜像来创建容器。例如,创建一个简单的 Python 应用程序的 Dockerfile: ```Dockerfile FROM python:3.8 WORKDIR /app COPY . /app RUN pip install -r requirements.txt CMD ["python", "app.py"] ``` 构建镜像并运行容器: ```bash docker build -t my-python-app . docker run -d -p 4000:80 my-python-app ``` 上述命令将构建一个名为 `my-python-app` 的镜像,并在后台运行一个容器,将容器的 80 端口映射到主机的 4000 端口。 3. **使用 Docker Compose 管理多容器应用** Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。可以通过编写 `docker-compose.yml` 文件来定义服务、网络和卷等资源。例如: ```yaml version: &#39;3&#39; services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` 使用 Docker Compose 启动服务: ```bash docker-compose up -d ``` 这将启动 `web` 和 `redis` 两个服务,并根据配置文件中的定义进行网络和端口的映射。 ### 升级和卸载 Docker 1. **升级 Docker** 如果需要升级 Docker 到最新版本,可以使用以下命令: ```bash sudo yum update -y docker-ce docker-ce-cli containerd.io ``` 2. **卸载 Docker** 如果需要卸载 Docker,可以使用以下命令: ```bash sudo yum remove -y docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker ``` 上述命令将卸载 Docker 并删除其数据目录。 ### 安全性和性能优化 1. **限制容器资源** 为了防止某个容器占用过多系统资源,可以在运行容器时指定资源限制。例如,限制内存和 CPU 使用: ```bash docker run -d --memory="512m" --cpus="0.5" my-python-app ``` 上述命令将限制容器最多使用 512MB 内存和 0.5 个 CPU 核心。 2. **使用安全策略** Docker 提供了多种安全机制来保护容器环境。例如,可以使用 AppArmor 或 SELinux 来增强容器的安全性。此外,还可以通过设置用户命名空间来隔离容器内的用户权限。 ### 总结 通过上述步骤,可以在 CentOS 7.9 服务器上成功安装和使用 DockerDocker 提供了强大的容器化功能,使得应用程序的部署和管理变得更加简单和高效。无论是单个容器还是复杂的多容器应用,Docker 都能够提供灵活的解决方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值