
Docker 的工作流程涵盖从构建镜像到运行容器再到镜像分发的完整闭环,各环节由客户端、守护进程、仓库协同完成。
编写Dockerfile → 构建镜像(Build) → 推送仓库(Push) → 拉取镜像(Pull) → 创建运行容器(Run)
Docker 的核心组件围绕镜像、容器、仓库、网络、存储五大模块构建,各组件协同支撑从开发到运行的完整容器生命周期。
curl --unix-socket /var/run/docker.sock http://localhost/version
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
docker-compose up
docker swarm init
docker network create my_network
docker run -d --network my_network ubuntu
docker volume create my_volume
docker run -d -v my_volume:/data ubuntu
Docker基础概念
Docker是一个基于Go语言开发并遵从 Apache2.0 协议开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到Docker环境中运行,容器彼此隔离,但可以通过特定的通道相互传递信息。保证了在任何环境下运行的应用程序具有相同的行为,这极大地减少了环境差异导致的“在我机器上可以运行”的问题。
Docker镜像加速
Docker安装完成后默认的官方镜像仓库是[Docker Hub](https://hub.docker.com/){target=blank},这是Docker官方维护的公共镜像注册中心。但对于国内Docker用户而言,在没有魔法的情况下是无法访问Docker Hub网站的,也无法从Docker Hub仓库拉取镜像。目前国内常用的2种方法:**Docker镜像加速源** 和 **配置Docker代理**。