一、Docker的安装
1.Docker官网:https://docs.docker.com/engine/install/centos/
2.确定CentOS7及以上版本
cat /etc/redhat-release
3.yum安装gcc
yum -y install gcc-c++
查看版本
gcc -v
4.卸载旧版本(sudo表示root用户,如果是root用户不用加sudo,表示换号)
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
5.安装需要的软件包
yum install -y yum-utils
6.设置stable镜像仓库(这里用阿里云镜像,官方镜像慢并且可能会出现一些问题,docker-ce表示社区的docker免费,缺点是有些功能无法使用)
阿里云镜像安装
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装成功后查看信息
cat /etc/yum.repos.d/docker-ce.repo
7.安装之后,更新yum软件包索引
yum makecache fast
8.安装DOCKER centos
yum install docker-ce
9.启动docker
启动docker
systemctl start docker
版本查看
docker version
查看docker已有镜像
sudo docker images
设置开机自启动
sudo systemctl enable docker
10.测试
docker run hello-world
11.配置镜像加速(这里用到vim,不会的百度搜索【linux 保存vim编辑】,配置阿里云镜像加速器,前提是注册并开通了阿里云服务,下边有介绍)
配置截图
上边配置用到的命令
1.创建文件
mkdir -p /etc/docker 2.修改配置,设置镜像
vim /etc/docker/daemon.json {"registry-mirrors": ["https://你的阿里云加速器.aliyuncs.com"]}//阿里云镜像加速器,每个阿里云的加速器不一样 3.重启后台线程
systemctl daemon-reload 4.重启dorker
systemctl restart docker
执行vim /etc/docker/daemon.json后的界面(注意这里,把你的阿里云镜像加速器地址加上去,然后按esc会退出编辑,然后输入英文冒号:在输入wq,最后按回车即可保存。这里用到vim,不会的百度搜索【linux 保存vim编辑】)
阿里云镜像加速器地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
阿里云镜像加速器需要注册阿里云用户,然后找到【容器镜像服务 ACR】->【管理控制台】->【镜像工具】->【镜像加速器】
12.卸载
卸载 Docker Engine、CLI 和 Containerd 包
sudo yum remove docker-ce docker-ce-cli containerd.io 主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷: sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
二、Docker集成项目环境
1.Docker集成redis
1.1网址:https://hub.docker.com/
搜索redis
1.2下载镜像文件
docker pull redis
1.3创建实例并启动
创建
创建redis配置文件目录 mkdir -p /mydata/redis/conf 容器内部只有etc/redis这两层目录,使用tocu创建redis.conf touch /mydata/redis/conf/redis.conf
启动redis容器
- linux的6379映射到docker的6379
- --name redis给容器起个名称-redis
- -v 把docker容器内部的/data文件夹挂载到linux外部的/mydata/redis/data文件夹中(/data中存放的是redis的数据)
- -d 后台运行,以redis镜像启动,同时指定服务以加载redis.conf这个配置文件加载
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
使用docker ps查看redis是否启动成功
[root@localhost conf]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e77296835c8b redis "docker-entrypoint.s…" 27 seconds ago Up 25 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis
1.4测试redis
直接连接redis客户端。
docker exec -it redis redis-cli
新建a并赋值为b。
[root@localhost conf]# docker exec -it redis redis-cli 127.0.0.1:6379> set a b OK 127.0.0.1:6379> get a "b" 127.0.0.1:6379> exit
1.5redis持久化(新版本可能默认持久化)
[root@localhost conf]# docker exec -it redis redis-cli 127.0.0.1:6379> get a "b" 127.0.0.1:6379> exit [root@localhost conf]# docker exec -it redis redis-cli 127.0.0.1:6379> exit [root@localhost conf]# pwd /mydata/redis/conf [root@localhost conf]# ls redis.conf [root@localhost conf]# vi redis.conf [root@localhost conf]# docker restart redis redis [root@localhost conf]#
执行vi redis.conf会弹出下面的窗口,按i进入编辑模式,输入appendonly yes,然后按ESC,英文:wq,最后回车。
1.5redis容器随docker启动自动运行
redis容器随docker启动自动运行
docker update redis --restart=always