9.1 发布镜像:命令 docker push
你已经知道,Docker Hub 是一个云平台,用于存储、分享和管理 Docker 镜像。开发者可以轻松地与同事分享镜像,或者将它们发布给更广泛的用户群。使用 Docker Hub 的方式类似于使用 Git。主要命令是 docker push 和 docker pull。在这节课中,我们将学习如何使用这些命令来发布和下载 Docker 镜像。
命令 docker push
用于将本地的 Docker 镜像上传到 Docker Hub。在发布镜像之前,请确保镜像已经被标记,且标签中包含你的 Docker Hub 用户名。
发布镜像的步骤
步骤 1. 构建 Docker 镜像:
如果你还没有构建好镜像,请使用命令 docker build
创建一个镜像。
docker build -t myapp:latest .
步骤 2. 给镜像打标签:
要在 Docker Hub 上发布镜像,需要为镜像打标签,并包含你的 Docker Hub 用户名。
docker tag myapp:latest yourusername/myapp:latest
步骤 3. 发布镜像:
使用 docker push 命令将镜像上传到 Docker Hub。
docker push yourusername/myapp:latest
示例:
docker build -t myapp:1.0 .
docker tag myapp:1.0 yourusername/myapp:1.0
docker push yourusername/myapp:1.0
9.2 下载镜像:命令 docker pull
命令 docker pull
用于将镜像从 Docker Hub 下载到本地机器。这让你可以使用其他用户或你的团队发布的镜像。
下载镜像的步骤
步骤 1. 查找镜像:
使用命令 docker search
在 Docker Hub 中查找需要的镜像。
docker search nginx
步骤 2. 下载镜像:
使用命令 docker pull
将镜像下载到本地机器。
docker pull yourusername/myapp:latest
示例:
docker pull nginx:latest
9.3 完整示例
发布和下载镜像的完整工作流程示例:
步骤 1: 构建镜像
为你的应用程序创建一个 Dockerfile。例如,一个基于 Node.js 的应用程序:
# 使用 Node.js 的基础镜像
FROM node:14
# 设置工作目录
WORKDIR /app
# 复制 package.json 并安装依赖
COPY package*.json ./
RUN npm install
# 复制应用程序的其他代码
COPY . .
# 打开端口
EXPOSE 3000
# 启动应用程序
CMD ["node", "app.js"]
使用 docker build
命令构建镜像。
docker build -t mynodeapp:latest .
步骤 2: 给镜像打标签
给镜像打上你的 Docker Hub 用户名的标签。
docker tag mynodeapp:latest yourusername/mynodeapp:latest
步骤 3: 发布镜像
将镜像推送到 Docker Hub。
docker push yourusername/mynodeapp:latest
步骤 4: 下载镜像
现在,另一个用户或者你的同事可以将这个镜像下载到他的本地计算机上。
docker pull yourusername/mynodeapp:latest
步骤 5: 从下载的镜像启动容器
下载镜像后,你可以基于它启动一个容器。
docker run -d -p 3000:3000 yourusername/mynodeapp:latest
GO TO FULL VERSION