Docker入门记录

Docker入门记录(更新中)

docker样例链接:link to docker samples

Docker在工程部署领域有很强的应用能力,同时分布式部署的概念的理解也有助于理解k8s等,故此记录一下一些docker入门的操作,方便日后回顾。其实也是顺着docker官网的教程来看的。

几个重要术语

镜像(Image):就很像是安装操作系统的ISO文件,里面提供了运行环境,镜像分为基础镜像子镜像,基础镜像就是没有父镜像的镜像,就比如ubuntu镜像,子镜像构建在基础镜像之上,增加了额外的功能。
容器(Container):容器是运行时镜像的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库存放了各种各样的镜像可以供使用和下载。

Docker命令行操作

docker pull + 镜像名称
docker pull dockersamples/static-site
从docker store里面拉取镜像

docker run + 镜像名称 + 即将运行的容器内运行的命令
docker run -d dockersamples/static-site
如果本地没有该镜像,会从docker store里面去寻找

docker run -it ubuntu /bin/bash 进入容器内
exit 退出容器

docker ps
查看运行的container信息

docker stop + 容器id
停止该容器运行

有一些参数值得注意
-d: 让容器在后台运行,不会自动退出
-i: 让容器以交互式操作进行
-t: 让容器以终端操作进行
-v: 挂载宿主机的一个目录

创建镜像

主要依赖于Dockerfile(Dockerfile是一个包含了一系列命令的文本文件,可以被Docker守护进程调用从而创建镜像),文件里面包括了所需要用来run某个app的所有信息,1. 一个基础Docker镜像, 2. 项目代码位置, 3. 依赖信息, 4. 开始时执行的代码。

基础镜像
FROM alpine:3.5
安装python和pip
RUN apk add --update py2-pip
安装依赖
COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r /usr/src/app/requirements.txt
复制运行文件
COPY app.py /usr/src/app/
COPY templates/index.html /usr/src/app/templates/
指定容器暴露的端口
EXPOSE 5000
运行应用
CMD [“python”, “/usr/src/app/app.py”]

构建完Dockerfile之后,可以使用Dockerbuild来创建docker镜像。

docker build -t <YOUR_USERNAME>/myfirstapp .

此时Docker镜像已经创建好了,可以使用命令行来试用

docker run -p 8888:5000 --name myfirstapp YOUR_USERNAME/myfirstapp

Docker Swarm

Swarm模式是Docker引擎的编排功能,能够通过一个文件把容器部署在不同的设备上。

创建Swarm

docker swarm init

创建Docker Compose文件

样例文件可以参考: link_to_docker_compose_file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值