一、安装平台和工具,阿里云 + xshell。
二、docker安装。
- yum install -y yum-utils #安装工具包,缺少这些依赖将无法完成
- yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #设置远程仓库
- yum install docker-ce #安装docker
- systemctl start docker #启动docker
- docker version #查看docker版本号,显示版本号则说明安装
三、mysql安装。
- docker pull mysql:5.7 #拉取mysql镜像
- docker run --restart=always --privileged=true -d -v /root/containers/sit/etm-mysql5:/var/lib/mysql -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime -v /etc/mysql/conf.d:/etc/mysql/conf.d -p 7713:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
- --name mysql 创建的容器名称
- -e MYSQL_ROOT_PASSWORD=root 使用root作为root账号的密码
- -p 3306:3306 容器的3306端口映射到宿主机器
- -d 后台运行容器
- mysql:5.7 镜像名称
- --restart=always 设置镜像随着docker的重启可自动重启
- -v /root/containers/sit/etm-mysql5:/var/lib/mysql mysql存储目录挂载到宿主机,否则mysql数据库的数据会因为容器挂掉或重启则数据丢失
- -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime 容器内的时区与宿主机保持一致
- -v /etc/mysql/conf.d:/etc/mysql/conf.d 容器内mysql的配置文件挂载到宿主机,以防容器重启后配置文件丢失
- docker exec -it mysql bash #进入mysql容器
- mysql -u root -p"root" #登录mysql,-u 后面跟着用户名(注意:有空格),-p后面跟着密码(注意:没有空格)
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #授权,注意:次命令是在登录mysql环境下执行的,注意有需要分号
- FLUSH PRIVILEGES; #重载授权表,注意:次命令是在登录mysql环境下执行的,注意有需要分号
- exit; #退出,注意:次命令是在登录mysql环境下执行的,注意有需要分号
- vi /etc/my.cnf #注意:次命令是在docker容器环境执行,增加 lower_case_table_names=1,指明mysql忽略大小写敏感
- docker restart mysql #重启mysql容器
- 如果使用的是阿里云,则需要在阿里云管理平台放开3306端口,如下图所示
四、docker安装Nginx容器。
详见:https://www.runoob.com/docker/docker-install-nginx.html
补充:执行 docker run --name nginx-test -p 80:80 -d nginx
参数说明:
- --name nginx-test:容器名称。
- -p 80:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行。
最后我们可以通过浏览器可以直接访问 80 端口的 nginx 服务:http://47.106.145.191:22:80,提示nginx则安装成功
五、docker 安装Nginx容器后并进行文件挂载(目录映射)
- mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf 在宿主机上创建 www、logs、conf 3个文件夹
www: nginx存储网站网页的目录
logs: nginx日志目录
conf: nginx配置文件目录
2、docker cp 481e121fb29f:/etc/nginx/nginx.conf /root/nginx/conf 将nginx配置文件拷贝到 宿主机 /root/nginx/conf 中
3、docker run -d -p 80:80 --name nginx-web -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
创建一个nginx 镜像 nginx-web,并将nginx中的html、conf、log 挂载到宿主机(如果80端口被其他nginx镜像占用,则可以先删 除该镜像,再创建镜像 nginx-web)
4、在本机/root/nginx/www目录下创建index.html内容为
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>docker搭建nginx</title>
</head>
<body>
<h1>docker搭建nginx映射成功</h1>
</body>
</html>
5、输入:http://47.106.145.191:22:80,则显示如下界面则显示文件挂载成功