Docker compose学习笔记

Docker

原理概念

docker中有三个重要概念:

  • 镜像 image
  • 容器 container
  • 仓库

其中初学者对前两者之间容易混淆。

镜像与仓库的区别

官方文档中的解释:

A container is launched by running an image.
An image is an executable package that includes everything needed to run an application–the code, a runtime, libraries, environment variables, and configuration files.
A container is a runtime instance of an image–what the image becomes in memory when executed (that is, an image with state, or a user process). You can see a list of your running containers with the command, docker ps, just as you would in Linux.

看资料时的零星记录:

  1. image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。
  2. container中加载image,container则是images运行时的的状态,image被某个container拿来引用
  3. 删除image,要先rm该image对应的container,再rmi该image
  4. 我的本地主机就是docker的宿主机

Docker compose

原理概念

  • Docker compose是一个用来定义和运行复杂应用的Docker工具,一个使用Docker容器的应用通常由多个容器组成。
  • 使用Docker Compose就不再需要使用shell脚本来启动容器。
  • Docker compose的配置文件(.yml)文件中定义了所有的容器,然后使用docker-compose脚本来启动,停止和重启这些应用应用中的服务以及所有依赖服务的容器

具体使用

  • 编写dockerfile定义App的环境
  • 编写docker-compose.yml文件定义服务service
一个service对应了一个容器
  • 使用docker-compose up命令来启动app
nvidia-docker-compose run --rm 服务名 bash

(相比于nvidia-docker,更推荐使用nvidia-docker-compose,可以文件实时更新)

问题记录

问题 解答 添加
打docker是什么意思?    
使用docker的流程是?

dockerfile

.yml配置

docker-compose run指令

 
docker、镜像的概念区别?是进入到一个docker、一个镜像还是一个容器?    
     
     
     

参考资料

猜你喜欢

转载自blog.csdn.net/s000da/article/details/89471007