docker pull + 镜像地址
docker run --name 应用名称 -d -p 对外端口:容器内端口 镜像名称:版本号
(如果容器内的配置文件本身存在问题就会导致该容器无法运行,docker ps查看正在运行的容器,docker ps -a 查看所有容器,docker logs 容器id 可以查看容器日志)
2. 将容器内的配置文件拷贝到本机上修改(如果在容器内修改,重启后就会失效)
docker cp 容器id:容器中文件的路径 本机目的路径
3. 将本机修改后的文件传入容器内替换
docker cp 本机文件路径 容器id:容器内文件路径
4. 重启容器
docker restart 容器id
1. 进入容器
docker exec 容器ID
其他常见命令见:https://www.jianshu.com/writer#/notebooks/49874836/notes/86218928
1. 如果访问仍然存在问题,首先检查容器内端口是否正确
2. 将上述第三步换成以下步骤,将本机的文件挂载到容器内,而非替换文件(如Nginx的地址修改,重启后会回到原来镜像拉取的地址)
1. 移除原来的容器
rm -f 容器id
2. 重新运行容器并将写好的配置文件挂载到容器内
docker run --name 容器名称 -d -p 对外端口:容器内端口 -v 本机配置文件路径:容器内配置文件路径:ro 镜像地址:版本号
由于docker 的某些镜像相对简洁,例如mysql 镜像这些都是没有 对文件修改的 工具vim ,如果安装这些文件 *** 作工具相对耗时间,也比较麻烦。所以以下方法可以直接 *** 作 容器中的文件:
1、 执行查询容器所有信息的命令: docker inspect containers_name 找到 自己容器的 diff 目录。
2、 *** 作文件: 新增,修改,删除,这些 *** 作都是可以的。
1、 docker 差异的文件: 也就是新增文件这些。
进入 diff 目录中,找到自己想要修改的文件, 可以直接修改文件。
2、修改容器中所有文件
与 diff 同层目录中, 进入 merged。
1、查看容器id
如:docker ps | grep 'nginx'
拿到容器的id
2、用命令复制出文件
好了已经拿出来了,可以跳转过去看一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)