1. 安装 Docker
1.1 在 Ubuntu 或 Debian-based 系统上安装 Docker
-
下载 Docker officially official.docker.net。
-
进入官网上方的绿色小房子,点击“Get It Now”。
-
根据提示选择 Ubuntu LTS (32-bit)、Ubuntu LTS (64-bit)、Debian 9.0 (64-bit) 或者 Debian Stretch (64-bit) 版本。
-
下载完成后,运行以下命令安装 Docker:
sudo apt update && sudo apt upgrade docker.io docker-ce docker-alpine docker-slim
1.2 在 macOS 上安装 Docker
-
官网提供三种版本供选择:macOS (官方、免费版和付费版)。
-
下载完成后,使用以下命令安装:
brew install docker
1.3 在 Windows 上安装 Docker
- 访问 get.docker 下载。
- 按照向导一步步安装 Docker。
2. 理解 Docker 是什么
Docker 是一个容器化平台,允许开发者将应用的配置文件、依赖项、脚本等以镜像的形式打包,并在任意一台服务器上运行。这使得开发人员可以独立于基础架构,专注于应用本身的变化和优化。
主要特点:
- 镜像:代码到服务的最佳桥梁。
- 容器化:提供标准化的运行环境。
- 平台无关性:同一代码在同一时间同一版本,不同用户、环境下的表现一致。
- 安全性:隔离和服务限制。
3. 设置 Docker 的环境变量
在 Linux 上配置 Docker
sudo nano /etc/docker/setting
在 macOS 上配置 Docker
在 ~/ Library/owment/
文件夹中,添加以下内容:
DOCKERFILEVersion '13'
Dockerimage [. /**
* [build context from root ]
* @root .
*
* Run the app as user 0
* -- André Seznec
*/
在 Windows 上配置 Docker
-
打开控制面板。
-
右键点击“系统”,选择“用户” -> “环境变量”。
-
Path
- 如果安装了官方版或付费版:
- 添加
C:\Program Files (x86)\Docker\
到 Path 中的环境变量,按回车保存设置。
- 添加
- 如果安装了官方版或付费版:
4. 容器化编程基础
4.1 概念解析
- 镜像:将一个应用程序的状态(代码、依赖项)打包到最小单位。
- 容器:运行在宿主机上的独立进程。
4.2 基本命令
BASHdocker pull hello:latest # 拉取镜像
docker save hello image1 # 创建镜像
docker build hello . # 编译镜像(可选)
docker push hello # 推出镜像到仓库
docker run hello # 运行镜像在本地
docker compose # 启用组合使用
4.3 简单应用开发示例
创建 Hello World
应用:
FROM helloworld:latest
# 跑一个简单的日志服务器,或者其他业务逻辑。
RUN echo "Hello, World!\n" >> output.log
构建并运行该镜像:
docker build -t hello-world .
docker run hello-world
5. 拓展知识:设置 Docker 镜像仓库
安装 docker.io
-
官方版本
sudo apt install docker.io
-
自定义镜像
docker pull your APP:TAG
TEXT
---
### 6. 拓展知识:设置 Docker Compose 和服务集群
#### 6.1 Docker Compose 简介
允许你创建运行时多构建栈的应用程序。
示例 Docker Compose文件:
```dockerfile
version: '3'
name: my-app
layers:
development:
build: .,
shell: /bin/sh
images:
development: .
配置:
sudo nano /etc/docker/composer/
[services]
your_app:
build context from .
image: your APP:TAG
ports: ["5000", ":8080"]
volumes: {"/path/to/vol": "/dockervol"}
volumes:
/var/lib/dockervol:
driver: local
depends_on:
net:
networks:
- network_name
7. 操作指南:实践项目
创建一个简单的 Hello World 服务并部署:
7.1 Step 1:建立项目仓库
BASHmkdir -p project
chomp file, your application file
7.2 Step 2:设置 Docker 镜像路径和标签
修改 dockerfile
并构建镜像。
FROM your/app:latest
运行:
docker build -t app_image .
8. 进阶知识:Docker 环境优化
- 使用环境变量提高安全性。
- 最大化使用 Docker Compose 脚本来管理集群。
- 探索使用 CRDs(持续集成)增强功能。
扩展知识:
- 镜像依赖关系、自定义构建命令、配置文件扩展。
9. 深入知识:使用 Docker 镜像容器注册
了解如何自定义镜像,利用 Docker Registery 和 Tagging 创建独特的镜像。
示例:
DOCKERFILEFROM python:3.8-slim as base
WORKDIR /usr/bin/\***
RUN python -m pip install --user wheel
EXPOSE 5000:5000
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "4",
"your.app:app"]
然后将镜像上传:
docker push your-image:latest
10. 拓展知识:扩展插件
了解如何扩展 Docker 功能,利用 Docker plugin 增强功能。
例子:
安装并使用 Docker GPU:
sudo apt install docker-gpu docker.io docker-compose-plugin
docker login username:password@docker.io/gpu .
docker attach ps aux -t --sort -f &>/dev/null