docker容器实用概念介绍

在使用1panel与docker的过程中结合搜索逐渐摸索出一些经验,在这里做一些零碎的记录,随时可能更新。

容器的持久化

docker容器有自己的存储空间,宿主机是不能访问的,可以在对应容器的终端里访问,然而容器的存储空间数据会随着docker容器的重启或者镜像更新,服务器宕机等而消失。容器的持久化就是指使得这些数据永久保存,不随着容器的重启或者宕机而消失的方法。

最常用的持久化方法是挂载卷方法,原理上类似于软连接,可以理解成从容器内部软连接到磁盘上的挂载位置(实际上就是磁盘上的某个路径),这样即使容器重启,磁盘上的信息也不会清空,而且这些数据可以直接在宿主的目录里进行操作,方便读取或者替换其中的内容。

如果不知道容器里哪些目录是核心内容,可以把整个容器的根目录都挂载到宿主机上,但是一定不能不挂载!否则会导致数据丢失。

挂载操作

通过1panel

image-20230808124358789

通过命令

docker run -v <host_dir>:<container_dir> <image_name>

端口映射

docker容器的端口是独立于宿主机外的,可以理解为docker容器的端口是用来与宿主沟通的,而宿主的端口是与外网沟通的。可以把docker的端口暴露到宿主机的完全不同的端口上,从而实现在宿主机器上访问,如果打开了防火墙,就可实现外网访问。

操作

1panel

image-20230808125633544

命令

docker run -p 8080:80 my_image

docker内部终端

docker ps
docker exec -it <container_name_or_id> /bin/bash

docker内部的shell可以展示docker内部的文件,也可以在内部运行一些脚本。但是没持久化的内容再容器重启后都会消失。

还想要更多代码?不知道怎么搭建?想让别人帮忙生信分析?欢迎来我的闲鱼咨询!价格绝对全网最低

IMG_20230725_170507

文章作者: 星落
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 星落_Blog
实用工具 服务器 docker
喜欢就支持一下吧