docker简单部署

一、使用docker部署一个前端项目

1.创建一个工作的目录

mkdir /mywork

2.项目进行打包

npm run build

会生产一个dist文件夹,如下,将打包好的dist文件上传到/mywork目录下

image-20220530133834932

3.准备nginx配置文件

为了方便管理,创建的配置文件也放置在/mywork目录下,nginx.conf.template文件内容如下

user nginx;
 
#user  nobody;
worker_processes  1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
 
    #access_log  logs/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
 
    #gzip  on;
 
    server {
        listen       80;
        server_name  localhost;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /dist;
			#try_files $uri /index.html; #解决路由重定向跳转 404 页面配置
            index  index.html index.htm;
        }
 
        #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   html;
        }
    }
 
 
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
 
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
 
 
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
 
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
 
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
 
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
 
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
 
}

4.准备Dockerfile文件

将该文件也放在/mywork目录下

Dockerfile内容如下

FROM nginx:latest
 
RUN mkdir /dist
COPY ./dist /dist
COPY ./nginx.conf.template /
 
CMD envsubst < /nginx.conf.template > /etc/nginx/nginx.conf \
	&& cat /etc/nginx/nginx.conf \
	&& nginx -g 'daemon off;'

该文件里主要是安装了nginx,复制dist、nginx.conf.template、启动nginx的步骤。

到此有这些文件如下

image-20220530140724521

5.构建镜像

先进入到该工作目录下

cd /mywork

正式构建镜像

docker build -f Dockerfile -t my-webtest:v1.0 .

成功如下

image-20220530140918039

6.运行该容器

docker run -d --name nginx01 -p 3000:80  my-webtest:v1.0
# -d 后台运行
# --name nginx01  设置容器名字叫nginx01
# -p 3000:80 公网ip的3000端口对应该容器的80端口
# my-webtest:v1.0 构建的镜像的名字

docker logs 容器id 可以查看容器日志

到此部署成功,服务器ip:3000测试访问

二、使用docker部署一个后端项目

1.创建一个工作目录

2、先把java项目使用maven插件打包成jar包。

mvn package

3、将.jar包放在工作目录下

3、新建Dockerfile文件

将该文件也放在创建的工作目录下

Dockefile文件内容:

# java11运行环境
FROM openjdk:11
# 作者名称
MAINTAINER chenfl
 
# 切换工作目录
WORKDIR /root/java
 
# 添加demo-start-1.0.0.jar文件到docker环境内
ADD demo-start-1.0.0.jar /root/java/demo-start-1.0.0.jar

# 暴露端口8080
EXPOSE 8080

# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 运行命令
ENTRYPOINT ["java", "-server", "-Xms256m", "-Xmx256m", "-jar", "/root/java/demo-start-1.0.0.jar"]

4、构建镜像

切换至工作目录,构建镜像:

docker build -t demo:0.0.1 .

说明:
-t 参数指定构建成后,镜像的仓库、标签等
demo:0.0.1 demo镜像名称、0.0.1 镜像标签

5、运行镜像

docker run -p 8080:8080 -t demo:0.0.1
java/demo-start-1.0.0.jar"]

4、构建镜像

切换至工作目录,构建镜像:

docker build -t demo:0.0.1 .

说明:
-t 参数指定构建成后,镜像的仓库、标签等
demo:0.0.1 demo镜像名称、0.0.1 镜像标签

5、运行镜像

docker run -p 8080:8080 -t demo:0.0.1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Docker Nacos部署起来,需要进行以下几个步骤: 1. 下载Nacos的SQL文件:可以从GitHub上下载Nacos的数据库文件,具体下载链接为[https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql](https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql)。 2. 创建数据和配置存放目录:需要创建Nacos的配置存放目录、日志存放目录和数据存放目录,并对相应目录设置权限。具体命令如下: ``` mkdir -p /home/docker/nacos/conf && chown -R 200 /home/docker/nacos/conf mkdir -p /home/docker/nacos/logs && chown -R 200 /home/docker/nacos/logs mkdir -p /home/docker/nacos/data && chown -R 200 /home/docker/nacos/data ``` 3. 创建自定义网络:可以创建一个自定义网络,并指定IP地址范围。例如,可以使用以下命令创建一个名为"woniu_network"的自定义网络,并指定IP地址范围为172.0.0.0/16: ``` docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network ``` 4. 创建数据库:需要根据Nacos的要求创建一个数据库。具体的数据库配置可以在Nacos的官方文档中找到。 5. 安装Docker:在开始部署之前,需要确保已经安装了Docker。具体安装步骤可以参考Docker的官方文档。 6. 执行Nacos的Docker部署命令:一般情况下,可以使用以下命令来启动Docker Nacos容器: ``` docker run -d --name nacos -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=<MySQL主机地址> -e MYSQL_SERVICE_DB_NAME=<数据库名称> -e MYSQL_SERVICE_PORT=<MySQL端口号> -e MYSQL_SERVICE_USER=<MySQL用户名> -e MYSQL_SERVICE_PASSWORD=<MySQL密码> -e PREFER_HOST_MODE=hostname -p 8848:8848 --network=woniu_network nacos/nacos-server:latest ``` 其中,需要将<MySQL主机地址>、<数据库名称>、<MySQL端口号>、<MySQL用户名>、<MySQL密码>替换为实际的数据库信息。 7. 查询Docker Nacos版本:可以使用以下命令查询已经安装的Docker Nacos版本: ``` docker exec -it nacos-server sh -c "./bin/nacos --version" ``` 这样就可以得到Nacos的版本信息。 总结以上步骤,就可以成功部署Docker Nacos。请注意,具体的部署步骤也可能因为不同的环境和需求而有所不同,建议参考Nacos的官方文档和相关资源以获得更准确的部署信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Docker 简单部署 Nacos 超详细图文步骤](https://blog.csdn.net/u011374856/article/details/109204466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值