Docker 修改docker存储位置 修改容器镜像大小限制操作

新版本这样好像快不行了,不推荐了。

不行可以直接软连接去修改存储位置。

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd  --graph=/work/docker_data

--storage-driver devicemapper

--storage-opt dm.loopdatasize=1000G

--storage-opt dm.loopmetadatasize=10G

--storage-opt dm.fs=ext4

--storage-opt dm.basesize=100G

-H fd:// --containerd=/run/containerd/containerd.sock

补充 2020.07.29

–graph在17.0版本后过时了,现在提倡采用–data-root

补充知识:docker 编排工具使用docker-compose

安装docker-compose

yum install -y epel-release

yum install -y python-pip

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose==1.24.1

# 如果python-pip报错

vim /etc/yum.repos.d/epel.repo 修改配置文件,注释掉metalink ,取消注释 baseurl

操作命令

compose操作容器(一定要进入配置文件目录)

后台启动容器:docker-compose up -d

查看容器运行情况:docker-compose ps

停止并删除容器:docker-compose down

停止并删除容器并删除volume:docker-compose down --volumes

停止启动容器:docker-compose stop;docker-compose start

docker-compose exec的使用:docker-compose exec redis bash

总结:

操作docker-compose一定要在配置文件docker-compose.yml文件路径下操作

格式一定要注意,该空格要空格

配置文件

docker-compose.yml

version: '3'
services:
 nginx:
  image: mycentos:nginx
  ports:
  - "8080:80"
  volumes:
  - /home:/usr/local/nginx/html
  - /var/logs/nginx/logs:/usr/local/nginx/logs
  command: /usr/local/nginx/sbin/nginx -g "deamon off;"

 redis:
  image: mycentos:redis
  ports:
  - "6380:6379"

如果改成主机模式,去掉ports, 加上 network_mode: "host",默认为桥接

实战: 模拟搭建个人博客

wordpress 免费的博客平台

docker-compose.yml

version: '3.3'
services:
 db:
  image: mysql:5.7
  volumes:
   - db_data:/var/lib/mysql
  restart: always
  environment:
   # 指定环境变量 docker -itd -e MYSQL_ROOT_PASSWORD= somewordpress
   MYSQL_ROOT_PASSWORD: somewordpress
   MYSQL_DATABASE: wordpress
   MYSQL_USER: wordpress
   MYSQL_PASSWORD: wordpress

 wordpress:
  depends_on: # 1.先启动上面的db(依赖),才能被安装 2.docker link
   - db
  image: wordpress:latest
  ports:
   - "8000:80"
  restart: always
  environment:
   WORDPRESS_DB_HOST: db:3306
   WORDPRESS_DB_USER: wordpress
   WORDPRESS_DB_PASSWORD: wordpress
   WORDPRESS_DB_NAME: wordpress
volumes:
 db_data: {}
 # 对应最上面的 volumes:

查找卷标

docker volume ls

docker volume inspect <volume-id>

Mountpoint 宿主机路径

对应的是  /var/lib/mysql

(0)

相关推荐

  • 详解Docker 修改已有镜像(commit )

    先使用下载的镜像启动容器. $ sudo docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到. 在容器中添加 json 和 gem 两个应用. root@0b2616b0e5a8:/# gem install json 当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 Docker commit 命令来提交更新后的副本. $ sudo docker com

  • 查看docker镜像中文件的方法

    怎么查看docker镜像中的文件 一.如果是已运行的 对于已经运行的镜像,我们可以通过其ContrainerID来查看 docker attach ContainerID 这种方式,需要对应的container是运行中的,不处于stop状态 二.如果未运行 对于未运行的,可以把Docker镜像中的文件复制到宿主来看,命令示意如下: docker cp <容器名称>:<路径> <主机路径> 如: sudo docker cp nginx-ubuntu-container:

  • Docker服务器存储资源池不足的问题解决

    系统环境: Docker 版本:19.03.13 操作系统版本:CentOS 7.8 一.问题描述 最近在执行 Docker 运行命令启动镜像时候,无法正常执行 Docker 启动镜像命令,提示了如下错误信息: Error: Error response from daemon: devmapper: Thin Pool has 163051 free data blocks which is less than minimum required 163840 free data blocks.

  • Docker 修改docker存储位置 修改容器镜像大小限制操作

    新版本这样好像快不行了,不推荐了. 不行可以直接软连接去修改存储位置. vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd  --graph=/work/docker_data --storage-driver devicemapper --storage-opt dm.loopdatasize=1000G --storage-opt dm.loopmetadatasize=10G --storage-opt

  • docker修改默认存储位置图文教程

    本方法是通过system下创建配置文件,直接在配置文件中配置新的docker存储路径进行修改. 第一步,将默认docker存储位置数据复制到新的路径下 docker默认存储路径为:/var/lib/docker 新的存储路径为:/data1/docker,该路径下的文件大小如下: 第二步,在/etc/systemd/system下创建docker.service.d目录 第三步,将/lib/systemd/system/docker.service文件复制到docker.service.d目录下

  • CentOS6.7 mysql5.6.33修改数据文件位置的方法

    问题:mysql存放的数据文件,分区容量较小,目前已经满,导致mysql连接不上, 解决方案: 1.删除分区里一个不需要用的数据,如:日志文件等(解决不了根本问题) 2.对某个磁盘扩容 3.修改数据存储位置 修改数据存储位置步骤: 1.查看mysql存储目录 #安装目录 --basedir=/usr #数据存储位置 --datadir=/home/mysqlData/mysql #用户 --user=mysql #日志 --log-error=/home/mysqlData/mysql/loca

  • 修改Docker默认镜像和容器的存储位置的方法

    本文介绍了修改Docker默认镜像和容器的存储位置的方法,分享给大家,具体如下: 一.Why Docker默认的镜像和容器存储位置在/var/lib/docker中,如果仅仅是做测试,我们可能没有必要修改,但是当大量使用的时候,我们可能就要默认存储的位置了. 二.How 2.1 修改docker.service文件 cd /etc/systemd/system/multi-user.target.wants vim docker.service ExecStart=/usr/bin/docker

  • 修改Docker镜像默认存储位置的方法(解决方法)

    由于系统初始分区的原因,导致操作系统中对应 / 分区不会太大,通过 /var 目录不会单独分区.如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用.如何更好地的处理这个问题呢? 1. 使用软链接 我们知道在操作系统当中,默认情况下 Docker 容器的存放位置在 /var/lib/docker 目录下面,可以通过下面命令查看具体位置. # 默认存放位置 $ sudo docker info | grep "Docker Root Dir" 解决默认存

  • Docker配置本地镜像与容器的存储位置

    使用find命令找到大于指定大小的文件: find / -type f -size +10G 排除某个目录 find / -path "/media/xww" -type f -size +10G 修改Docker本地镜像与容器的存储位置的方法 方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root Dir" 解决这个问题,最直接的方

  • Docker容器中文乱码(修改docker容器编码格式)的解决方案

    前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英文文件名则正常显示. 问题经过定位,发现后台代码的multipartfile类在执行transterto的方法时就发生了此异常,然而配置文件集中的multipartResolver以及encodingFilter均已经设置成了UTF-8,排除代码异常.kubectl exec进入到docker容器中进行查看时发现,文件在容器中也是中文文件名显示异常.查看docker容器编码格式:执行locale命令:

  • docker修改未启动容器的配置信息操作

    之前一开始用docker并没有使用dockerfile或者docker-compose编排服务,直接使用docker run启动的容器,结果一不小心配置文件出错或者给停掉了那就导致服务再也启动不了了,这时候不要着急,使用以下办法既可以修改配置文件还可以修改启动容器的端口信息和其他配置信息,这样容器中的文件和数据还是存在的. 1.修改容器内的配置信息 这里以nginx启动为例子,比如用docke run创建了一个nginx的容器,结果因为使用docker exec ** bash 修改了内部ngi

  • Docker Desktop更改镜像存储位置的实现

    Docker Desktop默认安装在C盘,默认镜像存储位置在 C:\用户\Administrator\AppData\Local\Docker\wsl\ WSL WSL 的全称叫做:Windows Subsystem for Linux,即「适用于 Linux 的 Windows 子系统」,可让开发人员按原样运行 GNU/Linux 环境 – 包括大多数命令行工具.实用工具和应用程序 – 且不会产生传统虚拟机(a traditional virtual machine)或双启动设置开销. Do

  • 详解如何修改docker pull镜像源

    Docker Hub Mirror 为全球最大的Docker Registry(Docker Hub)提供在中国的镜像代理服务.Docker Hub Mirror会为中国的用户在国内的服务器上缓存诸多镜像 当用户的Docker设定了--registry-mirror参数后,用户的Docker下拉镜像时,首先去Docker Hub Mirror中查找镜像,若命中则说明该镜像已经在Docker Hub Mirror中缓存,用户直接从Docker Hub Mirror中下载:若没有命中,则说该镜像还没

随机推荐