docker方式安装开发环境
centos7.5.1804安装:
其他系统自行搜索
uname -a
yum update
yum remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
#yum install docker-ce-20.10.9-3.el7
yum install docker-ce-20.10.17-3.el9
systemctl start docker
systemctl enable docker
docker version
docker 更新容器为自动重启
docker update --restart=always 容器ID或容器名称
MySql5.7
:
#创建文件夹用于挂载
cd /
mkdir docker
cd docker
mkdir mysql
cd mysql
mkdir {data,conf}
cd conf
touch my.cnf
chmod -R 777 /docker
docker pull mysql:5.7
#centos7.5.1804执行
docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
#win11使用docker-desktop执行以下
docker run -d -p 3306:3306 --privileged=true -v C:\docker\mysql\conf\my.cnf:/etc/my.cnf -v C:\docker\mysql\data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
#备份数据库
docker exec mysql(容器名) sh -c 'exec mysqldump --all-databases -uroot -p123456 --all-databases' > /var/backup/music_`date +%F`.sql
#定时执行
crontab -e
0 2 * * * find /backup/ -mtime +1 -name "*.sql" -delete && sudo docker exec mysql sh -c 'exec mysqldump -uroot -p123456 database' > /docker/backup/database_`date +%F`.sql
#还原数据库
mysql -uroot -p123456 < /var/backup/emp_2022-03-15.sql
redis
:
#创建文件夹用于挂载
cd /docker
mkdir redis
cd redis
mkdir {redis.conf,data}
chmod -R 777 /docker
docker pull redis
docker run -p 6379:6379 --name redis --restart=always --privileged=true -v C:\docker\redis\redis.conf:/etc/redis/redis.conf -v C:\docker\redis\data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass "12345678"
nginx
:
#创建文件夹用于挂载
cd /docker
mkdir nginx
docker pull nginx
docker run -d --name nginx -p 8888:80 nginx
#复制所需文件
docker cp nginx:/etc/nginx/nginx.conf C:\docker\nginx
docker cp nginx:/var/log/nginx C:\docker\nginx
docker cp nginx:/etc/nginx/conf.d C:\docker\nginx
docker cp nginx:/usr/share/nginx/html C:\docker\nginx
docker stop nginx
docker rm nginx
#centos执行
docker run -p 80:80 --name nginx --restart=always --privileged=true -v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /docker/nginx/conf.d:/etc/nginx/conf.d -v /docker/nginx/html:/usr/share/nginx/html -v /docker/nginx/logs:/var/log/nginx -d nginx
#win11 docker-desktop执行
docker run -p 80:80 --name nginx --restart=always --privileg