Docker学习笔记

对于docker的理解

  • 容器本质上是一个线程,相当于从物理机中开辟了一个空间,专门给到某个程序使用
  • 镜像的本质是一个软件源,这个软件源往往还带有它的环境变量、配置信息
  • docker是一个管理容器的平台工具。当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载
  • https://hub.docker.com/ 镜像可以从这个站点查看,下载命令也可以从这里查找
  • https://yeasy.gitbook.io/docker_practice/image/build 这是docker从入门到实践
  • https://www.runoob.com/docker/docker-run-command.html 查询命令大全

基本命令

  • docker run ubuntu:15.10 /bin/echo "Hello world" 表示在容器内运行一个应用程序。下面 docker run 表示命令的关键字,ubuntu:15.10 表示镜像名称,/bin/echo "Hello world"表示在该镜像内运行的语句。
  • docker stop 2b1b7a428627 停止容器。容器的本质其实是一个线程
  • docker pull <镜像名称>:<tag> 从镜像源获取各种镜像,例如docker pull mysql:5.6 表示下载5.6版本镜像的mysql
  • docker images 打印本机上所有镜像
  • docker run -d -p 80:80 <镜像名>:<tag> 启动镜像
  • docker search httpd 在远程镜像源查找镜像
  • docker rmi mysql 删除本地的镜像
  • docker build -t docker_file_name . 构建镜像
  • docker push <镜像名> 上传镜像
  • 为了加速下载镜像文件,国内服务器可以指定国内的镜像!
    • 阿里云:https://registry.cn-hangzhou.aliyuncs.com/
    • 华为云:https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com/
    • Docker中国:https://registry.docker-cn.com
    • 网易:http://hub-mirror.c.163.com
    • 中科大:https://docker.mirrors.ustc.edu.cn

docker-compose用于大型应用

当一个docker应用是由多个镜像组成的,需要配合着才能正常运行时,一般采用docker-compose的方式来启动,这些应用包括kafka集群、flink集群等。使用docker compose之后,就不再需要使用命令行来启动docker应用了。

【docker和docker compose的区别】
Docker是一种容器化技术,允许开发人员将应用程序及其依赖项打包在一个可移植的容器中。这个容器可以在任何支持Docker的平台上运行,消除了应用程序在不同环境中的兼容性问题。
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许开发人员通过一个单独的文件来定义和配置应用程序需要的所有服务,如数据库、Web服务器、缓存服务等。使用Docker Compose,开发人员可以轻松地在本地构建、测试和部署多容器应用程序,而不必手动编写Docker命令。
因此,Docker和Docker Compose的主要区别在于,Docker用于管理单个容器,而Docker Compose用于管理多个容器。Docker适用于单个容器应用程序,而Docker Compose适用于多容器应用程序,例如Web应用程序、数据库和缓存服务等。

使用方式参考:https://blog.csdn.net/fy512/article/details/122703083
其中以flink为例,docker-compose.yml文件格式类似:

version: "2.1"
services:
  jobmanager:
    image: flink:1.13.6-scala_2.12-java8
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
  taskmanager:
    image: flink:1.13.6-scala_2.12-java8
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值