1、docker安装与配置
1安装依赖
yum install -y yum-utils \device-mapper-persistent-data \lvm2
2设置yum源
国内推荐使用aliyun:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3安装版本
查看docker版本列表
yum list docker-ce --showduplicates | sort -r
安装合适的版本
#yum install -y docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7 containerd.io
yum install -y docker-ce-20.10.3-3.el7 docker-ce-cli-20.10.3-3.el7 containerd.io
4 启动docker
systemctl start docker
5 配置镜像仓库加速
vi /etc/docker/daemon.json
{
"mtu":1450,
"registry-mirrors": [
# 国内镜像仓库
"http://hub-mirror.c.163.com",
"https://1nj0zren.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"
]
}
** 注意json文件一定不能有注释和多余的逗号
6 重启daemon和docker
systemctl daemon-reload
systemctl restart docker
7 安装docker-compose
下载docker
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
给docker-compose执行权限,运行命令:
chmod +x /usr/local/bin/docker-compose
查看docker-compose安装版本
docker-compose --version
2、安装Jdk
2.1下载jdk
wget https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html#license-lightbox
2.2解压jdk
tar -zxf jdk-8u251-linux-x64.tar.gz
2.3重命名
mv jdk-8u251-linux-x64 JDK8
2.4添加环境变量
JAVA_HOME=/software/JDK8
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
2.5更新环境变量
source /etc/profile
2.6 查看安装是否成功
java -version
javac -version
3、安装nginx
3.1 配置nginx文件
mkdir -p /data/docker_data/nginx/conf
user root;
worker_processes 4;
worker_rlimit_nofile 65535;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
multi_accept on;
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 256;
large_client_header_buffers 4 256k;
fastcgi_buffers 32 8k;
client_header_buffer_size 256k;
client_max_body_size 128m;# 允许客户端请求的最大单文件字节数,上传的文件
client_body_buffer_size 1024k;# 缓冲区代理缓冲用户端请求的最大字节数
client_header_timeout 30;
client_body_timeout 30;
send_timeout 30;
proxy_max_temp_file_size 2048m;#临时文件最大大小
sendfile on;
#tcp_nopush on;
tcp_nopush on;
keepalive_timeout 120;
tcp_nodelay on;
#跨域
#add_header Access-Control-Allow-Origin *;
#add_header Access-Control-Allow-Headers X-Requested-With;
#add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
#gzip on;
server {
listen 7001;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
error_page 404 /404.html;
}
#配置转发
include vhosts/*.conf;
}
3.2 运行nginx容器
docker run --net="host" -id -p 7001:7001 -p 18443:18443 --name nginx-server -v /data/docker_data/nginx/www:/usr/share/nginx/html -v /data/docker_data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/docker_data/nginx/logs:/etc/nginx/logs/ -v /data/docker_data/nginx/conf/ssl_certs:/etc/nginx/ssl_certs -v /data/docker_data/nginx/conf/vhosts:/etc/nginx/vhosts --privileged=true -u root --restart=unless-stopped nginx
3.3 查看防火墙是否开放7001端口
firewall-cmd --query-port=7001/tcp
3.4 开启7001端口
firewall-cmd --zone=public --add-port=7001/tcp --permanent
3.5 重载防火墙
firewall-cmd --reload
4、 使用nginx部署前端项目
4.1 将前端项目压缩文件上传到/data/docker_data/nginx/www
4.2 解压前端包
# 如果没有unzip 先下载
yum -y install unzip
# 解压
unzip -o xxx.zip
4.3 配置nginx
cd /data/docker_data/nginx/conf/vhosts
vi nginx.conf
#nginx.conf内容
#反向代理服务配置
upstream access_api {
server 192.192.192.113:8101 max_fails=1 fail_timeout=30s;
}
#websoceket 使用map
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 7001; #协议访问端口号
server_name 192.192.192.113; #域名
root html;
index index.html index.htm;
location / {
root /usr/share/nginx/html/shianxinweb;
index index.html index.htm;
}
location /api {
proxy_pass http://access_api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 3600;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
}
location /images {
alias /usr/local/nginx/html/images/;
autoindex on;
}
}
5.4 启动nginx
docker restart nginx-server
6、涉及到的其他命令
# 查看运行的容器
docker ps
# 查看所有容器
docker ps -a
# 暂停容器
docker stop nginx-server
# 删除容器(删除容器之前必须先暂停容器)
docker rm nginx-server
# 查看本地镜像
docker images
# 删除本地镜像
docker rmi imagename
# 下载
wget XXXXX