1_docker安装软件
docker 安装mysql流程
Ubuntu 使用 Docker 镜像 安装 MySQL 5.7_evak_的博客-CSDN博客
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
service docker start
docker images
docker pull mysql:5.7
#拉取最新的 MySql
#docker pull mysql
# -p 参数前面的3306是本地端口,后面的3306是容器里面mysql运行的端口,要做映射才能访问
# --name 是启动是容器实例的名字,可自定义
# -e 是设置MYSQL链接密码
# -d 是使用的镜像的名字
# 123456 是数据库链接密码,自己修改成好记的
sudo docker run -p 3306:3306 --name mysqlName -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 启动容器实例mysqlName
sudo docker start mysqlName
# 进入到容器中,容器镜像一般都是一个非常精简的linux微环境,有些ls命令都没有
sudo docker exec -it mysqlName /bin/bash
# 停止容器
sudo docker stop mysqlName
# 命令行登录mysql
mysql -u root -p password -h 127.0.0.1
# 设置mysql新用户test,如果你都用root用户,可以添加新用户,只是告诉你怎么加用户,百度都有
# mysql的用户是为了区分权限,可以为用户设置特定权限,比如某些用户只能看数据的权限而不能修改,都是为了安全
#GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;
#刷新权限,让上面的命令生效
#flush privileges;
#这个命令会使容器停止,需要重新启动容器
service mysql restart
#退出MySql
exit
#退出容器
exit
docker 安装openresty(nginx)
#!/bin/bash
# 1. 从docker镜像服务器获取openresty的镜像
#docker pull openresty/openresty
# 查看镜像
#sudo docker images
# 为了脚本可重复执行,删除当前启动的一个容器,不然后续会启动失败
docker rm -f my_openresty_container
# 根据镜像openresty/openresty 这个镜像启动一个容器,名字叫my_openresty_container
docker run -p 80:80 -d --name my_openresty_container openresty/openresty
# 将容器中的目录映射到本地机器,这样方便修改
# 容器中openresty文件目录是/usr/local/openresty,所以 docker cp命令可以把容器中目录复制到本地,也放到/usr/local目录下
# 避免直接覆盖本地的文件夹,需要看本地是否已存在,不存在再拷贝,否则不小心把本地文件覆盖了
if [ ! -d /usr/local/openresty ]; then
echo "openresty not exist, copy from docker"
docker cp openresty:/usr/local/openresty /usr/local/
fi
# 将刚才建立的容器my_openresty_container删除,刚才是为了拷贝容器里面的文件
docker rm -f my_openresty_container
# 现在要重新建立容器, -v选项指定openresty使用本地的目录/usr/local/openresy
# --privileged=true 是关闭权限,否则操作容器文件没权限, 可以不加
docker run -p 80:80 --name my_openresty_container --restart always -v /usr/local/openresty:/usr/local/openresty -d openresty/openresty
# 查看启动的全部容器
# sudo docker ps -a
# 需要重启,停止,启动nginx就
# sudo docker restart d7c774b0d703
# sudo docker stop d7c774b0d703
# sudo docker start d7c774b0d703
启动之后配置nginx
# 本地创建nginx的配置文件目录
sudo mkdir /usr/local/openresty/nginx/conf/vhost
cd /usr/local/openresty/nginx/conf/vhost
# 修改nginx主配置文件
- sudo vim /usr/local/openresty/nginx/conf/nginx.conf
- 修改的地方
- 80 -> 801
- include /etc/nginx/conf.d/*.conf; 改为 include vhost/*.conf;
- 创建子配置文件,在vhost目录(vhost是虚拟主机的意思)
cd /usr/local/openresty/nginx/conf/vhost
touch 80.conf (为啥创建80端口的配置文件, 因为接口一般默认80端口)
把下边内容写进去
server {
server_name 127.0.0.1;
listen 80; #端口
location / {
root html;
index index.html index.htm;
}
#配置接口,lua下面的文件
location ~ /lua/(.*) {
#lua_code_cache off;
error_log 'logs/lua/lua.log' notice;
default_type 'text/html';
charset utf-8;
content_by_lua_file 'lua/$1.lua';
}
}
写一个接口测试一下
ocal json = require"cjson"
ngx.print(json.encode({a=10,b=20}))
请求
curl "h't'tp://127.0.0.1/lua/test"
{"b":20,"a":10}
mysql链接工具phpmyadmin, 可视化操作表
docker pull phpmyadmin/phpmyadmin
docker run --name myadmin -d -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin/phpmyadmin
可以在浏览器输入 http://192.168.2.10:8080
输入本地linux的地址,用户root, 密码 123456(自己设置的)
标签:容器,安装,usr,openresty,mysql,软件,docker,local From: https://www.cnblogs.com/hystill/p/16815558.html