docker镜像(第二天)

进入当前正在运行的容器

# 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

#命令

docker -exec -it 容器id  bashShell

 #方式二

docker attach 容器id

 正在执行当前的代码

#docker exec   进入容器后开启一个新的终端,可以在里面操作

#docker attach  进入容器正在执行的终端,不会启动新的进程!

从容器内拷贝文件到主机上

容器中相当于一个小的虚拟机,主机相当于一个大的虚拟机

docker cp 容器id:容器内路径 目的地主机路径

docker cu 容器id:/home/cxk.java /home 复制到了主机home目录

 #拷贝是一个手动过程,未来我们使用 -v卷的技术,可以实现

 

 接下来就是一些的练习

docker 安装linux

1.搜索镜像  search nginx  建议去docker搜索,可以看到帮助文档

2.下载镜像   pull 

3.运行测试

端口暴露的概念:其实就是通过外网端口3344 访问内网中容器80端口

 练习二:docker 来装一个tomcat 

# 官方的使用

docker run -it --rm tomcat:9.0

#我们之前的启动都是后台,停止了容器之后,容器还是可以查到

docker run -it --rm 一般用来测试,用完及删除

#下载在启动

docker pull tomcat 

#启动运行

docker run -d -p 3355:8080 --name tomcat01 tomcat  -

-d以后台方式 运行   -p暴露端口

进入容器

docker exec -it tomcat01 /bin/bash

发现问题, linux命令少了  没有webapps   阿里云镜像的原因,默认是最小的镜像,所有不必要的都剔除掉        

作业:部署es+kibana

es 暴露的端口很多

es 十分的耗内存

es 的数据一般需要防止到安全目录!挂载 

# --net somenetwork ? 网络配置,以后会讲

#启动

docker run -d --name elasticsearch -p 9200:9200 -p9300:9300 -e"discovery.type=single-node" elasticsearch:7.6.2

#启动了 linux就很卡   docker stats 查看 cpu的状态

es是十分耗内存的 

测试一下es是否成功了(查看暴露的端口)

 docker stats果然消耗内存

 ctrl+c退出

赶紧关闭,增加内存的限制,修改配置文件 -e环境配置修改 

docker run -d --name elasticsearch -p 9200:9200 -p9300:9300 -e"discovery.type=single-node" -e Es_JAVA_OPTS="-Xms64m -Xmx512m"elasticsearch:7.6.2

使用kibana链接es?  思考网络如何才能链接过去 

 可视化

什么是 portainer?

Docker图形化界面管理工具!提供一个后台面板供我们操作

docker run -d -p 8080:9000 \ --restart=always -v /var/run/docker.sock://var/run/docker.sock --privileged=true portainer/portainer

然后访问网址进行一个可视化面板操作

Docker镜像讲解

镜像是什么

镜像是一种 轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

所有的应用,直接打包docker镜像,就可以直接跑起来!

如何得到镜像

从远程仓库下载

朋友拷贝给你

自己制作一个镜像DockerFile

Docker镜像加载原理

unionFs  (联合文件系统)是一种分层、轻量级并且高性能的文件系统,支持修改一次提交来一层层叠加。

也就是如果 底层需要下载centos而已经下载过了,就可以直接用里面的

特点

docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部!

这一层就是我们通常说的容器曾,容器之下的都叫镜像层!

如何提交一个自己的镜像

commit镜像 

docker commit 提交容器成为一个新的副本

# 命令和git原理累死

docker commit -m="提交的描述信息" -a ="作者" 容器id 目标镜像名[TAG]

 呃呃呃实战自己做dockerfile镜像,有个地方卡住了,太困了明天继续

我是因为 8080端口换成3344就可以了

docker run -it -p 8080:8080 tomcat    交互 暴露端口

继续

实战测试

#1.启动一个默认的tomcat 

#2.发现这个默认的tomcat 是没有webapps应用,镜像的原因,官方的镜像默认webapps下面是没有文件的!

#3.是我自己拷贝进去了基本的文件

#4.将我们操作过的容器通过commit提交为一个镜像!这就是我们自己修改的镜像

如果你想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像

就好比我们以前学习vm种的快照  

加油! 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值