docker配置使用

Docker配置与使用指南

目录:

  1. 简介

  2. 安装Docker

  3. 基本命令

  4. 镜像管理

  5. 容器管理

  6. 数据卷管理

  7. 网络管理

  8. Dockerfile编写

  9. 示例代码

  10. 简介

    Docker是一个开源的应用容器引擎,可以让开发者将应用及其依赖包打包到一个轻量级的、可移植的容器中,然后发布到任何支持Docker的平台上。Docker可以简化开发、部署和运行应用程序的过程。

  11. 安装Docker

    在不同的操作系统上,安装Docker的方法略有不同。以下是在Ubuntu系统上安装Docker的方法:

bash 复制代码
# 更新软件包列表
sudo apt-get update

# 安装Docker
sudo apt-get install docker-ce

# 启动Docker服务
sudo systemctl start docker

# 设置Docker开机自启
sudo systemctl enable docker
  1. 基本命令
  • 拉取镜像:docker pull [镜像名]
  • 查看本地镜像:docker images
  • 运行容器:docker run [镜像名]
  • 查看运行中的容器:docker ps
  • 查看所有容器(包括已停止的):docker ps -a
  • 停止容器:docker stop [容器ID]
  • 删除容器:docker rm [容器ID]
  • 删除镜像:docker rmi [镜像ID]
  1. 镜像管理

    可以使用docker pull命令从Docker Hub拉取公共镜像,也可以使用docker build命令从Dockerfile构建镜像。

  2. 容器管理

    可以使用docker run命令创建并启动一个容器,使用docker exec命令在运行中的容器中执行命令,使用docker logs命令查看容器的日志。

  3. 数据卷管理

    数据卷是Docker容器中的一个特殊目录,可以用来持久化容器的数据。可以使用docker run -v [宿主机目录]:[容器目录] [镜像名]命令将宿主机的目录挂载到容器中。

  4. 网络管理

    Docker提供了多种网络驱动,可以使用docker network create命令创建自定义网络,使用docker network ls命令查看所有网络。

  5. Dockerfile编写

    Dockerfile是一个文本文件,包含了一组用户可以调用docker客户端执行的命令。以下是一个简单的Dockerfile示例:

Dockerfile 复制代码
# 使用官方的Python基础镜像
FROM python:3.7-slim

# 设置工作目录
WORKDIR /app

# 将当前目录下的文件复制到容器的/app目录
ADD . /app

# 安装依赖
RUN pip install --trusted-host pypi.python.org -r requirements.txt

# 暴露端口
EXPOSE 80

# 定义环境变量
ENV NAME World

# 运行app.py
CMD ["python", "app.py"]
  1. 示例代码
    以下是一个使用Docker部署Python Web应用的示例:

首先,创建一个名为app.py的文件,内容如下:

python 复制代码
from flask import Flask
import os

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, {}!'.format(os.environ['NAME'])

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80)

接下来,创建一个名为requirements.txt的文件,内容如下:

复制代码
Flask==1.1.2

然后,创建一个名为Dockerfile的文件,内容如第8节所示。

最后,使用以下命令构建和运行Docker容器:

bash 复制代码
# 构建镜像
docker build -t my-python-app .

# 运行容器
docker run -d -p 80:80 my-python-app

现在,访问http://localhost,你将看到来自Docker容器的响应。

文档下载

相关推荐
学Linux的语莫2 小时前
kubekey离线搭建k8s高版本>23安装,cri-dockerd通信
云原生·容器·kubernetes
慕容晓开10 小时前
docker,本地目录挂载
docker
Mr. Cao code11 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
Dontla11 小时前
Docker多共享网络配置策略(Docker多网络、Docker networks、Docker Compose网络、Docker网络、Docker共享网络)
网络·docker·容器
Jayin_chan12 小时前
paddlex3.0.1-ocr服务化安装部署(docker)
docker·容器·ocr
ifanatic12 小时前
[每周一更]-(第159期):Go 工程师视角:容器化技术(Docker/Kubernetes)与CI/CD流程的应用场景
docker·golang·kubernetes
感哥14 小时前
Docker镜像
docker
Dontla14 小时前
Dockerfile解析器指令(Parser Directive)指定语法版本,如:# syntax=docker/dockerfile:1
java·docker·eureka
楠神说软件测试16 小时前
Docker命令(全)
docker
LuiChun16 小时前
docker desktop更新到【4.45.0 】后,旧容器镜像都丢失了
docker·容器·dubbo