Docker 入门教程
1. 安装 Docker
在 Windows 上安装 Docker
-
下载 Docker Desktop 并运行安装程序。
-
安装完成后,启动 Docker Desktop,并按照指引进行设置。
在 Mac 上安装 Docker
-
下载 Docker Desktop 并运行安装程序。
-
安装完成后,启动 Docker Desktop,并按照指引进行设置。
在 Linux 上安装 Docker
-
使用以下命令更新包列表:
sudo apt-get update
-
安装 Docker 的依赖包:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
-
添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
设置稳定的 Docker 仓库:
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
-
安装 Docker CE(Community Edition):
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
2. Docker 基本命令
检查 Docker 是否安装成功
docker --version
运行第一个容器
docker run hello-world
这会下载一个测试镜像并在容器中运行一个简单的程序,输出 “Hello from Docker”。
列出本地所有镜像
docker images
列出所有运行中的容器
docker ps
列出所有容器(包括已停止的容器)
docker ps -a
停止容器
docker stop <container_id>
启动已停止的容器
docker start <container_id>
删除容器
docker rm <container_id>
删除镜像
docker rmi <image_id>
3. Dockerfile
Dockerfile 是一个包含一系列指令的文本文件,用于定义一个镜像的内容。以下是一个简单的 Dockerfile 示例:
FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD ["node", "app.js"]
构建镜像
docker build -t my-node-app .
运行镜像
docker run -p 8080:8080 my-node-app
4. Docker Compose
Docker Compose 是一个工具,用于定义和运行多容器的 Docker 应用。你可以使用 YAML 文件来配置应用的服务。
安装 Docker Compose
Docker Desktop 已经包含 Docker Compose。如果你在 Linux 上,需要手动安装:
sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
创建 docker-compose.yml
文件
以下是一个简单的 docker-compose.yml
示例:
version: '3'
services:
web:
image: my-node-app
ports:
- 8080:8080
redis:
image: redis:alpine
使用 Docker Compose 启动服务
docker-compose up
5. Docker Hub
Docker Hub 是一个云注册表,用于存储和分发 Docker 镜像。你可以将自己的镜像推送到 Docker Hub,供其他人使用。
登录 Docker Hub
docker login
标记镜像
docker tag my-node-app myusername/my-node-app
推送镜像到 Docker Hub
docker push myusername/my-node-app
结论
以上是 Docker 入门的基本教程,涵盖了安装、基本命令、Dockerfile、Docker Compose 和 Docker Hub 的基本使用。