腾讯云:150.158.26.150 65534 root zq124578.
1 docker 安装:
https://www.runoob.com/docker/centos-docker-install.html
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

重启解决:
systemctl restart docker.service
2 安装mysql
https://www.runoob.com/docker/docker-install-mysql.html
运行容器:
docker pull mysql:latestdocker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql#挂载:docker run -itd --name mysql -p 6033:3306 -e MYSQL_ROOT_PASSWORD=Zq124578. -v /opt/docker/mysql/datadir:/var/lib/mysql -v /opt/docker/mysql/mysql-files:/var/lib/mysql-files -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf mysql
参数说明:-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
访问mysql:
docker exec -it mysql-test bashmysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY 'Zq124578.';CREATE USER 'zhangqing'@'%' IDENTIFIED WITH mysql_native_password BY 'Zq124578.';GRANT ALL PRIVILEGES ON *.* TO 'zhangqing'@'%' ;#授权GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';#退出:exitALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '123456'flush privileges;
自动重启:
docker container update --restart=always mysql
3 安装 Nginx
安装:
docker pull nginx:latest
运行测试容器:
mkdir -p /opt/docker/nginx/{conf,conf.d,html,logs}docker run --name nginxtest -d nginx #运行一个测试的nginxdocker cp nginxtest:/etc/nginx/nginx.conf /opt/docker/nginx/ #把容器里的nginx的目录复制docker cp nginxtest:/etc/nginx/conf.d/default.conf /opt/docker/nginx/conf.d/docker rm -f nginxtest #删除测试的nginx
开启防火墙并访问:
运行:
#运行mynginx 挂载到/wwwroot是为了保持容器和宿主机目录一致,以免配置时出错docker run --name nginx -d -p 8081:80 -v /opt/docker/nginx/html:/usr/share/nginx/html -v /opt/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /opt/docker/nginx/logs:/var/log/nginx nginx
新建index.html
cd /opt/docker/nginx/htmltouch index.htmlvim index.html内容:hello world!
重启:
docker restart nginx
访问:
设置开机自动启动容器
在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:
docker run --restart=always CONTAINER ID
如果已经启动了则可以使用如下命令:
docker update --restart=always CONTAINER ID #设置启动nginx时自动启动docker update --restart=no CONTAINER ID #设置启动nginx时不启动[root@localhost www]# docker update --restart=always nginx nginx
4 安装redis
4.1 取最新版的 Redis 镜像:
docker pull redis:latest
4.2 运行容器
http://download.redis.io/redis-stable/redis.conf
上传:
mkdir -p /opt/docker/redis/{conf,data}docker run --name redis -p 9736:6379 -d --restart=always -v /opt/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/docker/redis/data:/data redis:latest redis-server --appendonly yes --requirepass "Zq124578."
4.3 连接测试
docker exec -it redis-test /bin/bashredis-cliauth Zq124578.
4.4 自动重启
docker update redis --restart=always redis

处理:
修改redis.conf(docker 安装默认在etc目录下):
修改:
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问protected-mode no #默认yes,开启保护模式,限制为本地访问daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。dir ./ #输入本地redis数据库存放文件夹(可选)appendonly yes #redis持久化(可选)requirepass foobared # foobared 换成你的密码rename-command FLUSHALL ""rename-command CONFIG ""rename-command EVAL ""


