docker环境安装部署

安装docker

安装yum-utils

yum install -y yum-utils 

设置docker下载仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

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

查看docker版本是否安装成功

docker version 

启动docker

systemctl start docker

开机自启动

systemctl enable docker

ubuntu系统普通用户添加docker权限(执行以后命令不用添加sudo)

sudo chmod a+rw /var/run/docker.sock

配置docker镜像仓库(这里使用腾讯的仓库)
打开仓库配置文件

vim /etc/docker/daemon.json 

设置仓库地址

{
"registry-mirrors": [
 "https://mirror.ccs.tencentyun.com"
]
}

刷新配置文件(不知道为什么有时候刷新没有效果我一般在执行一次重启)

systemctl daemon-reload

重启docker

systemctl restart docker

查看仓库地址是否设置成功

docker info 

拉取java环境

docker pull java:8
docker pull tomcat:8
docker pull nginx
docker pull redis
docker pull mysql:5.7

java环境

Dockfile文件(只需要改文件名字和端口)

FROM java:8
VOLUME /tmp
ADD jar包名字.jar app.jar
#设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
RUN bash -c 'touch /app.jar'
#端口
EXPOSE 8080
ENTRYPOINT [ "java", "-jar", "/app.jar" ]

打包成镜像(将jar文件和Dockerfile放在同一文件夹,注意命令最后的点)

docker build -t 镜像名称 .

运行命令
如果有文件上传注意使用-v挂载文件夹
/usr/local/docker/java/uploadPath是外部地址外部可以固定地址
/home/uploadPath是镜像内部的地址这个按照代码中的位置修改

   docker run -d --name 运行名称 -p 8080:8080 -v /usr/local/docker/java/uploadPath:/home/uploadPath 镜像名称

查看运行日志

docker logs -f 运行名称

mysql环境

新建文件夹/usr/local/docker/mysql/data放数据库文件
新建文件夹/usr/local/docker/mysql/conf放配置文件
配置文件mysqld.cnf

[mysqld]
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
default-time-zone='+08:00'
lower_case_table_names = 1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
symbolic-links=0

运行命令

docker run -d --name mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -v /usr/local/docker/mysql/data:/var/lib/mysql -v /usr/local/docker/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf mysql:5.7

开启远程访问

进入镜像
docker exec -it mysql /bin/bash
登录mysql
mysql -uroot -p密码
开启远程访问
grant all privileges on *.* to root@'%' identified by "密码";
刷新配置
flush privileges;
退出mysql
exit;
退出镜像
exit

redis环境

运行命令

docker run -d --name redis --restart=always -p 6379:6379 redis

nginx环境

新建文件夹/usr/local/docker/nginx/conf放主配置文件
新建文件夹/usr/local/docker/nginx/conf/conf.d放次配置文件
新建文件夹/usr/local/docker/nginx/html放前端文件
新建文件夹/usr/local/docker/nginx/logs放日志文件
新建文件夹/usr/local/docker/nginx/ssl放证书文件

主配置文件nginx.conf


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
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;
}

次配置文件http

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

    #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;
    }
}

次配置文件https

server {
    listen 443 ssl;
    server_name  www.域名.com;
    root /usr/share/nginx/html/m;
    index index.html Index.html;
    ssl_certificate /etc/nginx/cert/www.域名.com.pem;
    ssl_certificate_key /etc/nginx/cert/www.域名.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

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

    location / {
        root   /usr/share/nginx/html/m;
        index  index.html 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;
    }
    
#设置http自动跳转https
server {
    listen 80;
    server_name www.域名.com; #需要将yourdomain.com替换成证书绑定的域名。
    rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    location / {
        index index.html Index.html;
    }
}


运行命令

docker run -d -p 80:80 -p 443:443  --restart=always --name nginx  -v /usr/local/docker/nginx/html:/usr/share/nginx/html  -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /usr/local/docker/nginx/ssl:/etc/nginx/cert -v /usr/local/docker/nginx/logs:/var/log/nginx  nginx

tomcat环境

新建文件夹/usr/local/docker/tomcat/webapps放war文件
运行命令

docker run -d --name tomcat -p 8080:8080 -v /usr/local/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ tomcat:8

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值