linux怎么查看本机内存大小
258
2022-10-18
Docker 多容器复杂应用的部署
1.在某个文件中放入一个python flask项目,如flask-redis
2.在docker 控制台进入 flask-redis 目录中
3.由于需要redis,我们将redis单独作为一个容器,创建redis容器:docker run -d --name redis redis
4.将项目build成一个镜像:docker build -t 15091302@qq.com/flask-redis .(注意最后还有一个点,指代镜像的存放位置)
5.为了让redis直接能被用名字访问,在flask-redis中输入docker run -d -p 5000:5000 --link redis --name flask-redis
-e REDIS_HOST=redis 15091302@qq.com/flask-redis
注意这里的5000是Dockerfile中expose配置的端口号5000
6.测试:进入容器中测试:curl 127.0.0.1:5000 ---->打印hello container world!
在主机上测试: curl 127.0.0.1:5000 ------->连接被拒绝
curl 192.168.99.100:5000-------->成功打印(192.168.99.100是主机分配给docker机器的ip)
------------测试手动添加的-e环境变量是否加入到容器中--------------------
进入启动的项目容器flask-redis : docker exec -it flask-redis /bin/bash -
输入env ,显示了REDIS_HOST=redis也包含在了其中
--------补充理解镜像和容器之间的区别----------
一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。第1层的镜像层我们称之为基础镜像(Base Image),其他层的镜像(除了最顶层)我们称之为父层镜像(Parent Image)。这些镜像继承了他们的父层镜像的所有属性和设置,并在Dockerfile中添加了自己的配置。
Docker镜像通过镜像ID进行识别
镜像可以发布为不同的版本,这种机制我们称之为标签(Tag),如何创建镜像:docker build Dockerfile
Docker容器可以使用命令创建:
它会在所有的镜像层之上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态(Exited)。这就是Docker容器。
当我们有一个正在运行的Docker容器时,从运行态到停止态,我们对它所做的一切变更都会永久地写到容器的文件系统中。要切记,对容器的变更是写入到容器的文件系统的,而不是写入到Docker镜像中的。
--------------------显示容器中的环境变量等参数----------------------------
docker exec -it containerId /bin/sh
env
------------------------------------------------------------------
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~