Skip to the content.

Docker

使用的是版本 1.13 或更高版本。


Docker - Docker | 中文网 | Doc | 中文文档 | Github | Docker Success Center | Open Source | Hub | Store | 中文社区 | Cheat Sheet


Open Source

Play with Docker - Page | Github 体验到在云中拥有免费的Alpine Linux虚拟机,您可以在其中构建和运行Docker容器,甚至可以使用Swarm模式等Docker功能创建集群。

awesome-docker - Page | Github Docker资源和项目的精选列表

Moby - Page | Github Docker创建的一个开源项目,用于启用和加速软件容器化。 它提供了工具包组件的“乐高集”,用于将它们组装到基于容器的自定义系统中的框架,以及所有容器爱好者和专业人员实验和交换想法的地方。组件包括容器构建工具,容器注册表,编排工具,运行时等,这些可以与其他工具和项目一起用作构建块。

Docker Official Images - Page | 示例 | Github | @Docker-Library Docker 官方 Images

oracle/docker-images - Page | Github Docker配置,图像以及Dockerfiles for Oracle产品和项目示例的官方来源

jupyter/docker-stacks - Page | Github 包含Jupyter应用程序的可立即运行的Docker镜像

NVIDIA/nvidia-docker - Github 利用NVIDIA GPU构建和运行Docker容器


Docker image

Nextcloud 所有数据的安全之家。 根据您的条款,从任何设备访问和共享您的文件,日历,联系人,邮件等。

Docker 常用命令

基础

镜像

容器

账户 Hub

服务

swarm 集群

Dockerfile 命令

Dockerfiles - blog | Github 各种 Dockerfiles

命令 用途
FROME base image
RUN 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 暴露来端口
WORKDIR 指定路径
MAINTAINER 维护者
ENV 设定环境变量
ENTRYPOINT 容器入口
USER 指定用户
VOLUME mount point

Dockerfile 示例:

# 将官方 Python 运行时用作父镜像
FROM python:2.7-slim

# 将工作目录设置为 /app
WORKDIR /app

# 将当前目录内容复制到位于 /app 中的容器中
ADD . /app

# 安装 requirements.txt 中指定的任何所需软件包
RUN pip install -r requirements.txt

# 使端口 80 可供此容器外的环境使用
EXPOSE 80

# 定义环境变量
ENV NAME World

# 在容器启动时运行 app.py
CMD ["python", "app.py"]

docker-compose.yml 命令

Compose file versions and upgrading | docker-compose.yml 语法说明

version:"3" # 此版本具有较好的兼容性
services:
  # 将该镜像的实例作为服务 `web` 运行(`web` 为服务的名称,可自定义)
  web:
    # 将 username/repo:tag 替换为您的名称和镜像详细信息
    image: username/repository:tag # 从镜像库中拉取镜像
    deploy:
      replicas:5 # 为该镜像创建五个实例
      resources:
      # 每个实例限制最多使用的 cpus 和 memory
        limits:
          cpus:"0.1"
          memory:50M
      # 如果某个容器发生故障,立即重启容器
      restart_policy:
        condition: on-failure
    # 将主机上的端口 80 映射到 `web` 的端口 80
    ports:
      - "80:80"
    # 指示 `web` 容器通过负载均衡的网络 `webnet` 共享端口 80。(在内部,容器自身将在临时端口发布到 `web` 的端口 80。)
    networks:
      - webnet
networks:
  webnet: