Docker学习笔记之二:运行并创建镜像(Mac)

Docker运行镜像

在上一篇Docker学习笔记之一:简介和安装(Mac)文章中里面提到了运行

1
docker run hello-world

实际上这时已经运行了hello-world这个镜像,其他的镜像可以在Docker Hub中寻找,首先需要注册账号,然后搜索镜像名称,比如docker/whalesay,这个是官方网站的一个demo。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ docker run docker/whalesay cowsay boo
_____
< boo >
-----
\
\
\
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/

建立自己的镜像

以下内容参考:

新建DockerFile

1
2
3
4
5
6
vim Dockerfile
FROM docker/whalesay:latest

RUN apt-get -y update && apt-get install -y fortunes

CMD /usr/games/fortune -a | cowsay

执行docker build,读取“.”文件夹下面的DockerFile文件,依次执行文件中的3条命令,同时在本地build名字为“dongyuxi-say”的镜像。

1
docker build -t dongyuxi-say .

执行docker images,会发现本地的镜像库多了dongyuxi-say。

1
2
3
4
5
➜  dongyuxi-say docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dongyuxi-say latest 5f84a894d254 7 minutes ago 274.6 MB
hello-world latest 690ed74de00f 7 months ago 960 B
docker/whalesay latest 6b362a9f73eb 12 months ago 247 MB

发布镜像

hub.docker.com中申请个人账号,可以发现本地的镜像中是不带namespace,所谓namespace就是自己的Docker Hub的username,使用命令

1
2
docker tag [image_id] [username]/[image_name]:[version_tag]
docker tag 5f84a894d254 dongyuxi/dongyuxi-say:latest

此时查看本地镜像会发现多了一条相同ID的镜像。

1
2
3
4
5
6
➜  dongyuxi-say docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dongyuxi-say latest 5f84a894d254 14 minutes ago 274.6 MB
dongyuxi/dongyuxi-say latest 5f84a894d254 14 minutes ago 274.6 MB
hello-world latest 690ed74de00f 7 months ago 960 B
docker/whalesay latest 6b362a9f73eb 12 months ago 247 MB

设置Docker Hub信息

1
docker login --username=yourhubusername --email=youremail@company.com

使用Push命令发布到Docker Hub(和Git的命令真是接近啊)

1
docker push dongyuxi/dongyuxi-say

删除本地镜像,重新Pull刚刚Push的镜像

1
2
docker rmi -f 5f84a894d254
docker run dongyuxi/dongyuxi-say


支付宝 微信
文章目录
  1. 1. Docker运行镜像
  2. 2. 建立自己的镜像
    1. 2.1. 建立本地镜像
    2. 2.2. 发布镜像