修改docker默认存储目录(转)

Docker 修改默认存储位置

  • 首先使用 docker info 查看 docker 的基本信息
sudo docker info
Containers: 0
Images: 5
Storage Driver: devicemapper
 Pool Name: docker-253:0-679369-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: 
 Metadata file: 
 Data Space Used: 533.9 MB
 Data Space Total: 107.4 GB
 Data Space Available: 106.8 GB
 Metadata Space Used: 954.4 kB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.147 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-431.29.2.el6.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 853.5 MiB
Name: rhel62build
ID: LIO4:I43U:YFQU:SN45:YOE6:7GTF:6AGX:VSKQ:ICIV:AKWD:3OKQ:HUSC

这是一个新装的docker环境,其中看不出当前docker文件存储的路径。但是docker默认会使用 /var/lib/docker 作为默认存储位置。

  • 停止 Docker 服务
sudo /etc/init.d/docker stop
  • 将原来默认的/var/lib/docker备份一下,然后复制到别的位置并建立一个软链接
cd /var/lib
sudo cp -rf docker docker.bak
sudo cp -rf docker /<my_new_location>/
sudo ln -s /<my_new_location>/docker docker
  • 启动 Docker 服务
sudo /etc/init.d/docker start
  • 最后使用 docker info 查看更新结果
sudo docker info
Containers: 0
Images: 5
Storage Driver: devicemapper
 Pool Name: docker-8:21-393695-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop1
 Metadata file: /dev/loop2
 Data Space Used: 533.9 MB
 Data Space Total: 107.4 GB
 Data Space Available: 15.33 GB
 Metadata Space Used: 954.4 kB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.147 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /build/docker/devicemapper/devicemapper/data
 Metadata loop file: /build/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-431.29.2.el6.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 853.5 MiB
Name: rhel62build
ID: LIO4:I43U:YFQU:SN45:YOE6:7GTF:6AGX:VSKQ:ICIV:AKWD:3OKQ:HUSC

转载请以链接形式标明本文地址
本文地址:http://blog.csdn.net/kongxx/article/details/50310653

使用docker-compose 快速创建一个mysql 数据库容器

//创建一个独立的容器目录

mkdir docker-db
cd docker-db

前提、创建 docker Compose 配置文件
#vi docker-compose.yml 文件,内容如下

version: '3.6'
services: 

    db:
        image: hub.c.163.com/library/mysql:5.7
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: 123456
            MYSQL_DATABASE: wordpress
            MYSQL_USER: root
            MYSQL_PASSWORD: 123456
            MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
        ports:
            - "33061:3306"

image也可以直接写mysql:5.7 或者mysql:latest,不指定获取地址。
上面的 ports 这一块,是指宿主机端口号:容器端口号。在使用的时候,直接访问本机的 33061 端口即可。端口号前也可以指定一个固定的IP 地址。
Compose file version 3 reference:https://docs.docker.com/compose/compose-file/

一、创建并启动容器

$docker-composer up

在 docker-composr.yml 所在的目录里,执行上面的命令,此时会自动从远程服务器拉取容器所需的信息。这时窗口一直处于运行状态,我们通过添加
-d
参数,来实现后台服务运行。

二、停止关闭容器

$ docker-compose stop

关闭后,容器文件仍然在磁盘上存在,重新执行 docker-compose start 即可启动。

三、删除容器

docker-compose rm

上面的命令可以将已经停止运行的容器进行删除,也可以将停止和删除用一条命令代替

docker-compose down

更多命令请执行 docker-compose -h 查看。

Docker Machine 简介

一句话概括的话就是 Docker Machine是一个可以方便对多个宿主服务器中的多个容器进行管理的工具。

Docker 与 Docker Machine 的区别 https://www.cnblogs.com/sparkdev/p/7066789.html

Docker Machine 工具出现的意义 https://www.2cto.com/net/201707/660864.html

Docker Machine 用法 http://www.linuxidc.com/Linux/2017-06/145232.htm

Docker Machine 命令 http://blog.csdn.net/warren_1992/article/details/51451522

Mac平台上Docker安装与使用 http://blog.csdn.net/warren_1992/article/details/51451522

windows平台在dos下执行docker pull 命令出错

这里docker Machine 是安装和管理 Docker 的工具(用来代替Boot2Docker,对于个人玩的话,不建议使用docker Machine,毕竟多了一个虚拟层,不如直接使用当前物理机器作为容器的宿主机)

$ docker pull gitlab/gitlab-ce:latest

Warning: failed to get default registry endpoint from daemon (error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.33/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.). Using system default: https://index.docker.io/v1/
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.33/images/create?fromImage=gitlab%2Fgitlab-ce&tag=latest: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

解决方法:打开新窗口后执行(

docker-machine env

根据提示运行命令

@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i

default 是docker-machine的name,可以通过docker-machine -ls 查看。

如果还提示这个错误,说明没有启用 default ,执行下面的命令

D:\docker
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Stopped Unknown

如果为stopped状态,则需要启用一下

$ docker-machine start default
Starting "default"...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.
(default) Waiting for an IP...
Machine "default" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

最后再执行

$ docker pull hub-mirror.c.163.com/gitlab/gitlab-ce:latest
latest: Pulling from gitlab/gitlab-ce
1be7f2b886e8: Pull complete
6fbc4a21b806: Pull complete
c71a6f8e1378: Pull complete
4be3072e5a37: Pull complete
06c6d2f59700: Pull complete
3e236075b07f: Pull complete
9d3aa9a75297: Pull complete
1fad4f75154b: Pull complete
5383bef86102: Pull complete
7343d4ab63b3: Pull complete
7f250f1b8a34: Downloading [==================> ] 157.4MB/415.4MB

 

centos 下安装 certbot 常见问题

上一篇(https://blog.haohtml.com/archives/17422)我们介绍了centos下安装certbot的方法,但有时间服务器环境不一样,总会遇到一些问题,常见问题如下:

centos7.5下安装certbot常见问题

一、出错”ImportError: ‘pyOpenSSL’ module missing required functionality. Try upgrading to v0.14 or newer.“
解决办法:

sudo pip uninstall pyOpenssl
sudo pip install pyOpenSSL==0.14.0

查看版本:

pip show pyOpenssl

一、出错信息为“certbot AttributeError: 'module' object has no attribute 'SSL_ST_INIT'”

解决办法:

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

 

使用Gitlab一键安装包后的日常备份恢复与迁移

Gitlab 创建备份

使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期.

Gitlab 修改备份文件默认目录

你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/mnt/backups'

/mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可. Continue reading

在linux下,解决修改文件权限引起的git出现的文件变化问题

有时候,我们将服务器上的web文件夹的权限进行了修改,但git默认是也会记录权限状态的,这个时间用git status会发现所有的文件都处于被修改的状,这显示不是我们想要的。这时我们只要让git把文件权限忽略掉就可以了。

在操作前首先我们确认一下当前配置项core.filemode,默认为true,(也可以使用cat .git/config查看)

$ git config --list

然后执行

$ git config core.filemode false

这样就设置了忽略文件权限。查看下配置:

$ cat .git/config

git%e5%bf%bd%e7%95%a5%e6%96%87%e4%bb%b6%e6%9d%83%e9%99%90%e7%9a%84%e9%85%8d%e7%bd%ae
git忽略文件权限的配置