Docker安装(CentOS和Ubuntu环境)

设置Yum源

(1) 备份

1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(2) 查看系统版本

1
cat /etc/redhat-release

(3) 下载

下载新的CentOS-Base.repo 到/etc/yum.repos.d/

  • CentOS 7

    1
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • CentOS 6

    1
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  • CentOS 5

    1
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

(4) 生成缓存

1
yum makecache

安装Docker

CentOS

搜索

1
yum search docker

安装

1
yum install -y docker

启动

1
systemctl start docker

查看版本

1
docker version

开机自启

1
systemctl enable docker

Ubuntu

安装

1
2
apt install docker.io
apt install docker-compose

查看版本

1
2
docker --version
docker-compose --version

设置镜像保存位置

假设新路径为/data/tools/docker

方案一 修改默认路径(推荐)

0) 停止服务

1
systemctl stop docker

1) 修改配置

指定镜像和容器存放路径的参数是--graph=/var/lib/docker

但是不同系统下配置的位置不同

  • CentOS

    位置 /etc/sysconfig/docker 添加下面这行

    1
    vi /etc/sysconfig/docker

    修改

    1
    OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'

    修改为

    1
    OPTIONS='--graph=/data/tools/docker --selinux-enabled --log-driver=journald --signature-verification=false'

2) 修改完成后重载配置文件

1
sudo systemctl daemon-reload

3) 重启docker服务

1
sudo systemctl  restart docker.service

4) 查看信息

1
sudo docker info | grep "Docker Root Dir"

出现以下则证明成功了

1
Docker Root Dir: /data/tools/docker

方案二 设置软链接(不推荐)

1.首先停掉Docker服务:

1
sudo systemctl stop docker

或者

1
service docker stop

2.对之前的数据做个文件备份

1
tar czvf /mnt/docker-backup.tar /var/lib/docker

3.然后迁移整个/var/lib/docker目录到目的路径:

1
mv /var/lib/docker /data/tools/docker

4.建立symlink软链接

1
ln -s /data/tools/docker /var/lib/docker

5.确认文件夹类型为symlink 类型

1
ls -al /var/lib/docker

6.启动Docker

这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。

1
sudo systemctl start docker

如果像换成第一种方式就要先删除软链接

1
rm -rf /var/lib/docker

设置镜像源

针对Docker客户端版本大于 1.10.0 的用户

创建或修改 /etc/docker/daemon.json 文件

1
vi /etc/docker/daemon.json

添加或修改

1
2
3
{
"registry-mirrors": ["https://tiaudqrq.mirror.aliyuncs.com"]
}

重启Docker

1
2
systemctl daemon-reload
systemctl restart docker.service

其他可用镜像源

网易
http://hub-mirror.c.163.com

ustc
https://docker.mirrors.ustc.edu.cn

中国科技大学
https://docker.mirrors.ustc.edu.cn

阿里云容器 服务
https://tiaudqrq.mirror.aliyuncs.com

下载镜像

具体参见

1
docker pull registry.cn-hangzhou.aliyuncs.com/psvmc/oraclejdk-tomcat8

启动镜像

项目内无文件存储

1
docker run -d -p 8081:8080 -m 512M --memory-swap -1 --name tomcat01 -v /data/wwwroot/tomcat01/:/opt/tomcat8/webapps/  -v /data/wwwroot/log/tomcat01/:/opt/tomcat8/logs/ --restart=always 71dc929e155c

项目带文件存储

1
docker run -d -p 8081:8080 -m 512M --memory-swap -1 --name tomcat01 -v /data/wwwroot/tomcat01/:/opt/tomcat8/webapps/  -v /data/wwwroot/log/tomcat01/:/opt/tomcat8/logs/ -v /data/wwwroot/tomcat01/ROOT/static/:/data/wwwroot/tomcat01/ROOT/static/ --restart=always 71dc929e155c

常用命令

查看运行的容器

1
docker ps -a

查看下载的镜像

1
docker images