Docker安装及部署基础知识

基于CentOS 7 LINUX学习使用docker。

一、Docker安装

1、安装docker依赖

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

2、安装 Docker CE

# 添加官方仓库 Docker CE 仓库(适用于 CentOS 7) 
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

# 安装 Docker 引擎 
sudo yum install -y docker-ce docker-ce-cli containerd.io 

# 验证安装 
docker --version

3、启动服务

sudo systemctl start docker 
sudo systemctl enable docker # 设置开机自启

4、配置docker镜像源,加速下载


# 配置中科大镜像 
sudo tee /etc/docker/daemon.json <<EOF 
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF 

# 重启服务生效 
sudo systemctl daemon-reload 
sudo systemctl restart docker

​

二、使用docker部署服务

个人理解:docker部署相当于将服务器源码打包成镜像,然后创建一个新的容器运行该镜像,达到各服务隔离的目的

1、资源

  1. 服务源码(含依赖文件-requirements.txt)

  2. Dockerfile

2、构建dockerfile

  1. 在源码项目目录下,创建一个名为Dockerfile的文件,注意没有后缀,首字母大写

# 使用官方 Python 基础镜像 
FROM python:3.9-slim 

# 设置工作目录 
WORKDIR /app 

# 复制依赖文件到容器 
COPY requirements.txt . 

# 安装依赖 
RUN pip install --no-cache-dir -r requirements.txt 

# 复制应用代码到容器 
COPY . . 

# 设置环境变量(可选) 
ENV FLASK_APP=app.py 

# 暴露端口(根据应用需要) 
EXPOSE 5000 

# 启动应用 
CMD ["python", "app.py"]

注释:

  1. FROM: 从Docker Hub公共镜像仓库拉取python3.9-slim镜像,但是国内下载很慢,前面我们配置了中科大镜像源可以提速

  2. WORKDIR: 指令用于设置容器内的工作目录。这个目录是后续所有相对路径指令(如 COPYADDRUN 等)的基础路径

  3. ENV FLASK_APP:设置FLASK_APP的环境变量,这样在容器内部可以直接用flask run --host="0.0.0.0"来运行程序,不过一般只有测试环境这么用。使用python直接运行app.py,适合在生产环境使用,也不依赖环境变量,所以该参数可选

  4. EXPOSE: 告诉外界我这个容器内部使用了哪些端口,多个端口可用空格隔开,一般使用docker inspect <镜像名称>查看

3、构建docker镜像

# 项目目录也就是构建的docker镜像名称 
docker build -t <项目目录>:<version_tag> .

4、运行docker容器

docker run -d -p 主机端口:<容器监控端口> <docker镜像名称>
  • -d:后台运行容器。

  • -p :将容器的端口映射到主机的端口,可通过主机ip+端口访问到容器运行的服务

### 下载适用于 ARM64 架构的 Python 3.9-slim 镜像 Docker 官方仓库提供了针对不同架构(包括 ARM64)的镜像。对于 Python 3.9-slim 版本,可以通过以下方式获取适用于 ARM64 的镜像。 #### 使用 Docker 拉取镜像 通过 Docker 命令可以直接拉取指定架构的镜像。以下是具体的命令: ```bash docker pull --platform linux/arm64 python:3.9-slim ``` 此命令明确指定了平台为 `linux/arm64`,以确保下载镜像是针对 ARM64 架构优化的[^1]。 #### 验证镜像是否正确下载 在拉取完成后,可以使用以下命令验证镜像的架构信息: ```bash docker inspect --format=&#39;{{ .Architecture }}&#39; python:3.9-slim ``` 如果输出为 `arm64` 或 `aarch64`,则说明镜像已正确下载并适用于目标架构[^2]。 #### 替代方法:手动构建镜像 如果官方镜像不满足需求,也可以基于官方提供的 Dockerfile 手动构建适用于 ARM64 的 Python 3.9-slim 镜像。以下是步骤概述: 1. 克隆官方 Python 镜像仓库: ```bash git clone https://github.com/docker-library/python.git cd python ``` 2. 进入对应版本的目录: ```bash cd 3.9-slim ``` 3. 使用 Docker 构建命令指定架构: ```bash docker buildx build --platform linux/arm64 -t python:3.9-slim-arm64 . ``` 此方法允许对镜像进行自定义修改,同时确保其兼容 ARM64 架构[^3]。 ### 注意事项 - 确保本地环境支持 ARM64 架构镜像的运行。如果运行在 x86_64 平台上,可能需要启用模拟器(如 QEMU)。 - 如果需要长期使用 ARM64 镜像,建议配置多架构支持的 Docker 环境,例如安装 `docker buildx` 插件。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值