【Docker】Docker基础和简单实例

docker作为新时代的虚拟化容器,自2013年诞生以来受到广大用户的追捧,docker允许开发者可以打包任何自己的应用以及依赖包到一个可移植的容器中,然后可以发布到任何流行的Linux机器或Windows 机器上。
在装docker之前迁移项目代码:“诶?你的代码怎么运行不了。 原来是我这环境缺少包,版本不对…”。
有了docker之后:“给,拿去跑吧。”

Docker基本架构

Docker中有三个基本概念:

  • repository:这个就是我们常规意义上的镜像库,每个库里面可以包含多个镜像(image)
  • container:image和container,类似于类和实例,我们想要运行,就需要把镜像实例化成一个container,容器可以被创建、启动、停止、删除、暂停等操作
  • image:基本的文件系统,提供基础运行的环境,我们可以按需拉取环境使用。

在这里插入图片描述

对比虚拟机的虚拟化层级

在这里插入图片描述

Docker配置实例

Docker安装环境

Linux(Ubuntu ):

$ sudo apt-get update
$ sudo apt install docker.io

Mac:https://docs.docker.com/docker-for-mac/install/
Windows:https://docs.docker.com/docker-for-windows/install/

安装完成后我们输入docker命令检查是否安装成功,同时可以查看到一些基础命令
在这里插入图片描述

开通镜像容器服务

可以选在搞一个在线的镜像容器库,这样比较方便,目前很多服务商可自选,我用的阿里云
创建完镜像库之后会得到一个公网地址,这个地址后续要来推送项目到远程容器库用
在这里插入图片描述

构建镜像

去找一些国内的基础镜像库,本文使用的python基础库,从阿里提供的镜像库中直接拉取到本地
registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
注意“:”后面代表版本
镜像拉取:docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
接下来准备 需要发布的工程文件,和两个配置文件

  • Dockerfile镜像配置文件(不可改名)
  • run.sh程序执行脚本

Dockerfile 文件配置参考阿里云提供的基础结构

# Base Images
## 从基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /
## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /
## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]

run.sh 执行程序脚本

# 直接把程序执行的命令写在这, 例如
python  XXXX.py

构建镜像:docker build -t 上面创建在线镜像库的公网地址:1.0 .
“:”后代表版本,也就是tag用来进行版本管理

推送到镜像仓库
$ sudo docker login --username=XXXX registry.XXXX
$ sudo docker tag [ImageId] XXXXX:[镜像版本号]
$ sudo docker push XXXXX:[镜像版本号]

docker images可用来查询当前镜像
docker tag可以重命名镜像

$ sudo docker images
REPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry. XXXXXXXXXXXXXXXX.XXXXX                                   0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB
$ sudo docker tag 37bb9c63c8b2 registry.XXXXXXXXXXXXXXXXXXXX:0.7-dfb6816
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值