环境
- 宿主机环境windows,从官网下载docker的windows版本,安装完毕后切换到Linux Containers
- 镜像使用ubuntu 16.04
docker三大概念
- 容器Container:相当于虚拟机
- 镜像Image:相当于虚拟机的iso
- 仓库Repository:相当于github,官网仓库是hub.docker.com
构建一个镜像,镜像的脚本默认名字为Dockerfile
1 | FROM ubuntu:16.04 |
创建一个空目录,在其下建立一个名叫Dockerfile文件,输入以上内容
制作镜像
1 | docker build -t ubuntu:dev.16.04 . |
如果制作过程中出错,删除相关的命令,重新输入上面的命令继续制作
制作出来的镜像大小大概在960m左右,用”docker image ls”查看
启动容器
1 | docker run -d --name dev-ubuntu -p 36000:36000 ubuntu:dev.16.04 |
-p 36000:36000 前面的36000为宿主机端口,后面为容器端口
docker启动的时候,需要把本容器也启动起来,带参数”–restart=always”
如果需要挂载本地磁盘,使用参数”-v /opt/projects:/home/bingo/“
docker端口映射等网络相关内容可以参考这篇文章
ssh登录到容器
1 | ssh -p 36000 bingo@127.0.0.1 |
“127.0.0.1” 指宿主机的ip
-p 36000 指向宿主机的port
推到仓库,供以后重复使用
在 https://hub.docker.com/ 上创建一个账号
登录仓库
1 | docker login |
按提示输入账号密码
- 编译,指向自己的用户名username
1 | docker build -t username/ubuntu:dev.16.04 . |
- 发布到hub
1 | docker image push username/ubuntu:dev.16.04 |
发布后,就可以在 https://hub.docker.com/ 看到刚发布的镜像文件了
- 下次需要的时候,就可以用以下命令拉取
1 | docker image pull username/ubuntu:dev.16.04 |