Docker安装mysql和Nginx
一.MySQL
1.下载并后台运行mysql容器
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=规定mysql登录密码 -p 3306:3306 mysql:版本号
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:8.0
2.进入mysql容器
docker exec -it id或者容器名称 bash
docker exec -it mysql bash
3.登录MySQL
mysql -u root -p
#输入密码
#开放root或者其他用户远程登录权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql启动并且挂载外部配置和数据
docker run -d \
--name mysql \
--restart always \
-v ~/docker-data-test/mysql/conf:/etc/mysql/conf.d \
-v ~/docker-data-test/mysql/data:/var/lib/mysql \
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
Nginx
1.拉取Nginx镜像
docker pull nginx
2.创建nginx容器
docker run -d --name pznginx -p 80:80 nginx
3.创建本地nginx目录
mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
4.查看容器id
docker ps -a
5.容器配置文件copy到本地(这里cp后面的是容器ID)
docker cp 79ed1d11707e:/etc/nginx/nginx.conf /root/nginx/conf
6.创建新nginx容器nginx-web,并将www,logs,conf目录映射到本地
#执行这个命令之前删掉上面创建的容器
docker stop pznginx
docker rm pznginx
docker run -d -p 80:80 --name pznginx -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx
7.启动nginx容器
docker start pznginx
#在/root/www文件下创建index.html 里面加上内容可生效,即是完成