一、docker安装
1、安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2、设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装 Docker-CE
sudo yum install docker-ce
4、查看安装过的docker:
yum list installed | grep docker
5、卸载docker:
sudo yum remove -y docker-ce.x86_64 docker-client.x86_64 docker-common.x86_64
6、删除容器镜像:
sudo rm -rf /var/lib/docker
7、重新安装docker
sudo yum install docker-ce
8、开机自启
sudo systemctl enable docker
9、启动docker服务
sudo systemctl start docker
10、查看docker日志
docker logs -f --tail 10 a4dac74d48f7
二、修改docker默认目录路径
1、首先,将原有的docker安装目录复制到/root/yhtdisk下面
cp -a /var/lib/docker /root/yhtdisk
2、其次,备份下之前的存储目录
mv -u /var/lib/docker /var/lib/docker.bak
软连接:
1、首先,关停 Docker 服务:
sudo systemctl stop docker
# or
sudo service docker stop
2、接着,新建一个 /var/lib/docker 的软链:
sudo ln -fs /root/yhtdisk/docker /var/lib/docker
3、最后,重启 Docker 服务:
sudo systemctl start docker
# or
sudo service docker start
4、确认无误后删除备份:
rm -rf /var/lib/docker.bak
三、docker安装mysql并且修改mysql数据存存储到指定文件夹
1、在opt下创建文件夹
cd /opt/
mkdir mysql_docker
cd mysql_docker/
echo $PWD
2、启动mysql容器
docker run --name mysql8server -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest
3、进入mysql容器,并登陆mysql
docker exec -it mysqlserver bash
mysql -uroot -p
4、进入mysql容器,并登陆mysql后,开启远程访问权限
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
5、退出mysql
exit
四、在当前位置为mongodb指定挂在文件夹
1、启动mongodb
–name:为容器指定一个名字 -p:指定端口映射,格式为:主机(宿主)端口:容器端口 -e:username=“xxx”,设置环境变量
–restart=on-failure:3:是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次 -mount:绑定挂载
-d:后台运行容器,并返回容器 id -wiredTigerCacheSizeGB:指定占用最大内存
docker run --name mongodb -v $PWD/mongo/data/configdb:/data/configdb -v $PWD/mongo/logs:/var/log/mongodb/ -v $PWD/mongo/data/db:/data/db -p 27017:27017 -d 18337129068/mongoservice --wiredTigerCacheSizeGB 4
2、进入、退出容器
docker exec -it docker的ID/name bash
mongo
use admin
3、查看是否存在用户
db.system.users.find()
4、如果有 就删除 ,必须删除所有用户不能删除单个否则无法创建
db.system.users.remove({})
5、重新创建用户
db.createUser({user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
6、 远程连接的开启,在 mongodb 的容器当中
#更新源
apt-get update
#安装 vim
apt-get install vim
#修改 mongo 配置文件
vim /etc/mongod.conf.orig
将其中的bindIp: 127.0.0.1注释掉# bindIp: 127.0.0.1 或者改成bindIp: 0.0.0.0
即可开启远程连接
五、docker安装redis并进行数据目录挂载
1、从dockerHub拉取镜像到本地
docker pull redis
2、创建目录(宿主机)
mkdir -p /root/yhtdisk/redis/conf
mkdir -p /root/yhtdisk/redis/data
3、再/root/yhtdisk/redis/conf目录下创建redis.conf配置文件
touch redis.conf (官网下载地址:http://download.redis.io/redis-stable/redis.conf 该文件和正常安装的redis的conf配置一样,直接复制即可)
1> 创建文件夹,新建配置文件贴入从官网下载的配置文件并修改启动默认配置(从上至下依次):
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问或者改成0.0.0.0
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ #输入本地redis数据库存放文件夹(可选)
设置最大内存:maxmemory 512435456
设置过期策略根据LRU算法生成的过期时间来删除:maxmemory-policy volatile-lru
appendonly yes #redis持久化(可选)
4、进入/root/yhtdisk/redis目录下启动redis
cd /root/yhtdisk/redis
5、启动容器,加载配置文件并持久化数
docker run -d --privileged=true --restart always -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data --name redis -p 6379:6379 redis --appendonly yes --requirepass "123456"
示例:
-$PWD -> 当前目录下 -d
-> 以守护进程的方式启动容器
-p 6379:6379 -> 绑定宿主机端口
–name myredis -> 指定容器名称
–restart always -> 开机启动
–privileged=true -> 提升容器内权限
-v /root/docker/redis/conf:/etc/redis/redis.conf -> 映射配置文件
-v /root/docker/redis/data:/data -> 映射数据目录
–appendonly yes -> 开启数据持久化
–requirepass -->redis密码