通辽做网站通过seo来赚钱,网站建设合同建设方注意事项,做奖状的网站,app订制开发公司用FROM mongo:8.0.8 为基础镜像#xff0c;加了些初始化数据做的mongodb镜像。用podman管理和backend#xff0c;frontend组成一个简单的BS架构。利用podman创建pod#xff0c;3个镜像同用一个空间#xff0c;项目内部连接就可以统一用127.0.0.1加上端口进行通信了。
要使…用FROM mongo:8.0.8 为基础镜像加了些初始化数据做的mongodb镜像。用podman管理和backendfrontend组成一个简单的BS架构。利用podman创建pod3个镜像同用一个空间项目内部连接就可以统一用127.0.0.1加上端口进行通信了。
要使用podman需要用podman生成镜像和docker操作一样在Dockerfile文件目录下面进行
podman build --progressplain -t imgname:tag .创建好了后用
podman pod create --name podnam -p port_host:port_container -p port_host:port_container ...创建pod然后用之前生成的image创建并运行容器其中在mongodb的运行过程中
podman run -id --rm --name container_name --pod the pod name -v host machine path:/data/db localhost/mongo image name:mongo image tag mongod --auth --bind_ip 0.0.0.0出现了changing ownership of /data/db.. : Operation not permitted或者FileNotOpen, errmsg: Failed to read metadata from /data/db/storage.bson。
以下是原因和方案
mongodb中Dockerfile会创建一个用户名mongodbuid999创建一个用户组mongodbgid999。于是挂载的宿主机目录下的db文件都归属于999宿主机没有999这个用户。当前宿主机的用户是kiramariouid1000gid1000podman中宿主机和容器之间的命名空间有一个映射比如kiramario用户运行podman run后容器里面被映射为root0但是它不是真root所以没有权限改归属于999的文件。查看/etc/subuid结果是kiramario:100000:65536意思是映射规则是从100000开始可以映射65536个。容器映射到主机是100000999-1 100998用podman unshare chown 999:999 host machine path在宿主机上查看ls -l发现文件归属是100998对上了就有权限了。