Docker 概述
Docker 诞生于 2013 年,最初由 dotCloud 公司使用 Go 语言实现,开源代码托管于 GitHub。
Docker 可以理解为一个微型虚拟机。有了镜像后即可跑这个虚拟机的实例。Docker 的基础是 Linux 容器(LXC)。
Docker 对于 DockerHub 就像 Git 对于 GitHub。DockerHub 管理你的项目可执行程序,GitHub 管理你的项目源码。
创建你的第一个镜像
Dockerfile 是创建 Docker image 所必须的一个 "脚本文件",他将根据我们给出的命令执行任务。
在任意位置创建一个文件夹,用来作为创建 image 的目录,并在此目录下创建 Dockerfile 文件,和 app.py 文件。
打开 Dockerfile 文件,编辑如下:
# 容器的运行环境
FROM python:2.7-slim
# 工作目录
WORKDIR /bey
# 将当前目录下所有文件添加到工作目录
ADD . /bey
# 执行命令
CMD ["python", "app.py"]
打开 app.py 文件,编辑如下:
print('Hello World.')
执行命令: docker build -t helloworld .
(注意别忘了后面的.
点)
执行命令: docker images
可以看到刚才创建的仓库名为:helloworld
的镜像。
执行命令: docker run -p 8080 helloworld
在 当前终端 运行容器。
输出结果: Hello World.
。
到这里,第一个 docker image 就已经创建完成了,并且成功执行。
发布镜像
发布镜像到 DockerHub 首先需要登录一个 docker 账户。
1. 登录 Docker Hub 账户
docker login
,输入你的 DockerHub 账户和密码进行登录。
2. 为镜像打 tag
docker tag helloworld bey6/helloworld:0.1.0
,这样会对原本的 helloworld 镜像进行连接,复制出一个仓库名为 bey6/helloworl
tag 为 0.1.0
指向(他们是同一个 image id)。可以使用 docker images
查看。
3. 发布镜像
docker push bey6/helloworld:0.1.0
这里需要注意的是需要首先已经存在 bey6/helloworld
这个 repository,否则可能会提示 UNAUTHORIZED。
获取镜像
为了获取我们发布到 Docker Hub 的镜像文件,首先把原有的 容器与镜像 都删除。
1. 删除
注意,必须是先删除容器,再是删除镜像。
docker rm 容器id
docker rmi 镜像id
2. 拉取镜像
docker run -p 8080 bey6/helloworld:0.1.0
网友评论