栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker部署项目 mysql、redis、nginx、创建应用镜像发布

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker部署项目 mysql、redis、nginx、创建应用镜像发布

docker部署项目 mysql、redis、nginx安装和映射宿主机、创建应用镜像发布
    • CentOS Docker 安装
    • 安装 Docker Engine-Community 使用 Docker 仓库进行安装
    • 启动 Docker
    • mysql安装
    • redis安装
    • nginx安装
    • 创建nginx宿主机文件夹
    • nginx nginx.conf和default.conf从容器复制到宿主机
    • 创建network
    • 删除nginx容器
    • 创建nginx容器并 映射到宿主机
    • 创建Dockerfile文件和项目放置同一个文件夹下
    • cd 到项目文件夹下运行
    • nginx配置
    • 重启nginx
    • 访问成功

CentOS Docker 安装
curl -sSL https://get.daocloud.io/docker | sh
安装 Docker Engine-Community 使用 Docker 仓库进行安装
sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.ioce.repo
启动 Docker
sudo systemctl start docker
mysql安装
docker pull mysql:5.7.35
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
redis安装
docker pull redis:latest
docker run -itd --name redis -p 6379:6379 redis --requirepass "123456"
nginx安装
docker pull nginx:latest
docker run --name nginx -p 80:80 -d nginx
创建nginx宿主机文件夹
mkdir -p /home/nginx/{conf/conf.d,html,logs}
nginx nginx.conf和default.conf从容器复制到宿主机
//9d959639b08c 容器id
docker cp 9d959639b08c:/etc/nginx/nginx.conf ./
docker cp 9d959639b08c:/etc/nginx/conf.d/default.conf ./
创建network
docker network create mynetwork
docker run -it --network=mynetwork --name=bbox1 busybox
删除nginx容器
docker rm -f nginx
创建nginx容器并 映射到宿主机
docker run --name nginx --network=mynetwork -p 80:80 -d 
-v /home/nginx/logs:/var/log/nginx 
-v /home/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf 
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 
-v /home/nginx/html:/usr/share/nginx/html nginx
创建Dockerfile文件和项目放置同一个文件夹下

//Dockerfile配置
//ADD 包名.jar /app.jar 自己的包名
FROM java:8
# VOLUME 指定了临时文件目录为/tmp
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
#同步时间
RUN cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 将jar包添加到容器中并更名为app.jar
ADD 包名.jar /app.jar
# 运行jar包
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
cd 到项目文件夹下运行
//docker rm -f 包名	删除容器,容器不存在要去掉不然会报错
//docker rmi 包名		删除镜像,镜像不存在要去掉不然会报错
//-v /home/uploadPath:/home/uploadPath 本地存储图片映射路径
//注意包名填写
docker rm -f 包名 && docker rmi 包名 && docker build -t 包名 . && docker run -d -p 8081:8081 -v /home/uploadPath:/home/uploadPath --restart=always --name 包名 包名 && docker logs -f 包名
nginx配置
upstream prod-api {
		server ip:8081;
}

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
	
	#后端项目
	location /prod-api/ {
        proxy_pass http://prod-api/;
        proxy_set_header        HOST  $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        #proxy_connect_timeout 10;
		#proxy_read_timeout 10;
		#proxy_send_timeout 10;
        client_max_body_size  100m;
    }
	
	#前端项目
	location /base_web/ {
		root /usr/share/nginx/html;
		try_files $uri $uri/ /base_web/index.html;
		index /base_web/index.html;
	}

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ .php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ .php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /.ht {
    #    deny  all;
    #}
}
重启nginx
docker restart nginx
访问成功
//注意修改ip
http://ip/base_web/
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/961712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号