Linux-------Docker简单详细的安装配置+运行jar包和前端项目

docker默认安装路径 /var/lib/docker
1、卸载旧版本(首次安装可以跳过)

//注意这里下面的代码一下复制全 然后贴过去回车等待就行了

	sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2、使用存储库安装

	设置存储库
	sudo yum install -y yum-utils
	安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。	
	sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3、安装DOCKER引擎

	sudo yum install docker-ce docker-ce-cli containerd.io

4、设置docker开机自启动

	sudo systemctl enable docker

5、卸载Docker

	卸载Docker Engine,CLI和Containerd软件包:
	sudo yum remove docker-ce docker-ce-cli containerd.io
	主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
	sudo rm -rf /var/lib/docker
	必须手动删除所有已编辑的配置文件。

6、启动个redis服务 (可选可不选)

	docker run -d -p 6379:6379 --name redis redis
	
    启动个带密码的redis
	docker run -d -p 6379:6379 --name redis redis --requirepass "mypassword"

    使用docker快速安装mysql
	docker run -d --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
	
    使用docker快速安装mariadb
	docker run -d --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mariadb

7、创建一个自定义容器运行jar包

    创建一个文件夹,放要运行的jar包
	在jar包的统计目录下创建一个文件 Dockerfile
	编辑Dockerfile内容如下:
		# jdk 是一个已有的包含 jdk 的镜像
		#  作者签名
		#  简化 jar 的名字路径 (#:表示注释掉)
		#  执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
		#  设置对外端口为 8089
		FROM openjdk:11
		MAINTAINER YWS
		COPY  ./hrm.jar /app.jar
		CMD java -jar /app.jar
		EXPOSE 9901
	通过 dockerfile 文件生成本工程的镜像:
	# -t :给镜像取名为 hrm 名字自定义
	docker build -t hrm . 

	通过镜像启动容器,命令如下:
	 
	#  -d 后台运行、
	#  最后一个 gentle 是引用的镜像的名字、
	#  --name jy_gentle 给容器取名为 jy_gentle (取名参数前面是两短横线)、
	#  -p 8089:8089 端口映射,注意是小写 p 
	# 前一个 8089 是对外浏览器上访问的端口,后一个 8089 是容器内工程本身的端口,两者可不一样
	
	docker run -d -p 8089:8089 --name jy_gentle gentle   
	name 后面这俩参数可以修改成自己想要的

8、docker 安装nginx

可参考 https://www.cnblogs.com/ghl1024/p/9022890.html
	docker pull nginx:latest 拉取docker 中nginx镜像
	
	创建docker主机映射文件夹  mkdir -p /data(路径可以自定义)/nginx/{conf,conf.d,html,logs}
	创建配置文件  vim /data/nginx/conf/nginx.conf
	user  nginx;
	worker_processes  1;

	error_log  /var/log/nginx/error.log warn;
	pid        /var/run/nginx.pid;


	events {
		worker_connections  1024;
	}


	http {
		include       /etc/nginx/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  /var/log/nginx/access.log  main;

		sendfile        on;
		#tcp_nopush     on;

		keepalive_timeout  65;

		#gzip  on;

		include /etc/nginx/conf.d/*.conf;
	}
	
	vim /data/nginx/conf.d/default.conf
	
	server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        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   /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;
    #}
}

	创建一个html文件测试 
	vim /data/nginx/html/index.html
	<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>系统时间</title>
	</head>
	<body>
	<div id="datetime">
		<script>
			setInterval("document.getElementById('datetime').innerHTML=new Date().toLocaleString();", 1000);
		</script>
	</div>
	</body> 
	
	启动容器
	#将容器中nginx的80端口映射到本地的81端口
	docker run --name nginx81 -d -p 81:80 					name 后的容器名字可以自己起    -p 前的端口号是映射的前台端口号
	-v /data/nginx/html:/usr/share/nginx/html   			:之前的路径就是你自己创建的nginx下html路径
	-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf    
	-v /data/nginx/logs:/var/log/nginx 
	-v /data/nginx/conf.d:/etc/nginx/conf.d 
	-d nginx												-d后镜像名字
	
	打开服务器地址 xx.xx.xx.xx:-p前的端口看看成功没

当运行vue项目时,直接把打包后的项目目录内的文件 复制放到你创建的html文件夹中

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值