阅读量:3
安装docker
离线
- 下载docker安装包: https://download.docker.com/linux/static/stable/x86_64/
- 解压安装
tar xzvf /path/to/.tar.gz - 复制docker目录下的文件到/usr/bin目录下
sudo cp docker/* /usr/bin/
(/user/bin 目录包含系统中可执行的文件,将解压后的文件复制到该目录下,可以让这些文件处于可执行的位置,以便用户直接通过命令调用) - 后台运行docker的守护进程
sudo dockerd & - 设置开机自动
在/etc/systemd/system/目录中创建一个名为docker.service的服务配置文件sudo vi /etc/systemd/system/docker.service 将以下内容粘贴到文件中:
[Unit] Description=Docker Service Documentation=https://docs.docker.com After=network.target [Service] ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 Restart=always StartLimitIntervalSec=0 [Install] WantedBy=multi-user.target
- 设置远程连接(两种方式,推荐第二种)
- 启动了docker的守护进程,并且指定了监听地址,docker未启动时才可运行此命令
dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 &
2.编辑启动文件
/etc/systemd/system/docker.service 或 /lib/systemd/system/docker.service
如图:找到ExecStart这一行 并且替换为
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
在线
- 安装必要的系统工具 yum-utils ,device-mapper-persistent-data ,lvm2 这三个系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加软件源信息,添加阿里云docker镜像资源的配置文件
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新yum索引列表并安装Docker引擎
sudo yum makecache
- yum安装docker
sudo yum install docker-ce
- 设置远程连接(两种方式,推荐第二种)
- 启动了docker的守护进程,并且指定了监听地址,docker未启动时才可运行此命令
dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 &
2.编辑启动文件
/etc/systemd/system/docker.service 或 /lib/systemd/system/docker.service
如图:找到ExecStart这一行 并且替换为
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
源码下载
若依官网 https://www.ruoyi.vip/
选择前后端分离版本
后端打包部署
- 配置jdk,maven等
- 打包
- 创建Dockerfile文件,copy如下内容
# 基础镜像 FROM java:openjdk-8u111-jre # 维护者信息 MAINTAINER zj # 设置容器时区为当前时区 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone # /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层 # 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录 VOLUME /tmp # 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下 ADD ./ruoyi-admin/target/ruoyi-admin.jar ruoyi-admin.jar # 容器启动执行命令 ENTRYPOINT ["java", "-Xmx128m","-Djava.security.egd=file:/dev/./urandom", "-jar", "/ruoyi-admin.jar"] # 声明容器提供服务端口 EXPOSE 8080
- 连接服务器docker
- 配置端口镜像名称等
- 启动
前端打包
- 修改后端路径
- 本机装有node环境
- npm install
- build 打包文件
中间件安装部署
mysql
- 创建挂载目录
mkdir -p /usr/local/mysql/data /usr/local/mysql/conf.d
- 启动
docker run --name mysql --restart=always --privileged=true \ -v /usr/local/mysql/data:/var/lib/mysql \ -v /usr/local/mysql/conf.d:/etc/mysql/conf.d \ -v /etc/localtime:/etc/localtime:ro \ -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest
- 进入容器内部修改远程连接
# 进入容器内部 docker exec -it mysql /bin/bash # mysql -u root -p # 选择数据库 show databases; use mysql; # 修改连接权限 ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; -- 刷新权限 FLUSH PRIVILEGES;
- 连接测试
- 示例
Redis
- 执行命令
docker run -d -p 6379:6379 --name redis --restart always redis:latest
- 连接工具测试连接
无用户名 密码:启动命令设置 - 示例
Nginx安装
- 创建挂载目录
mkdir -p /home/docker/nginx/html /home/docker/nginx/conf /home/docker/nginx/log
- 上传 .conf 配置文件并修改 将文件放至/home/docker/nginx/conf 目录下
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; #前端项目的端口 server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } location /prod-api/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://39.100.94.212:8080/; #后台项目的运行端口 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
- 启动
docker run --restart always --name nginx8888 --volume "/home/docker/nginx/html":/usr/share/nginx/html --volume "/home/docker/nginx/conf/nginx.conf":/etc/nginx/nginx.conf -p 8888:80 -d nginx
- 上传前端文件(dist)至 /home/docker/nginx/html 文件夹下
- 访问测试
- 示例