赞
踩
// 方法一:从远程仓库拉取
docker pull 镜像名称:镜像版本
docker pull mysql:8.0.23
// 方法二:镜像linux系统上传后在导入
docker load < 镜像名称
docker load < rabbitmq.tar.gz
docker run -di --name=容器的名称 镜像的名称
Docker会为每一个容器1创建一个虚拟网卡,然后分配一个Docker的内网IP
问题:A容器部署了MySQl,B容器的Java程序想要访问A容器的MySQl?
B容器需要写A容器的内网IP,比较麻烦。
A、B容器公用宿主的网卡IP
docker run -it -d --name mysql --net=host \
-m 500m \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/config:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=abc123456 \
-e TZ=Asia/Shanghai mysql:8.0.23 \
--lower_case_table_names=1
说明:
docker run -it -d --name mysql --net=host 公用宿主IP
-m 500m 分配500M内存
-v /root/mysql/data:/var/lib/mysql 映射MySQL数据文件,/var 运行时需要改变的数据文件
-v /root/mysql/config:/etc/mysql/conf.d 映射MySQl配置文件,/etc 存放系统的配置文件:
-e MYSQL_ROOT_PASSWORD=abc123456 设置MySQL密码
-e TZ=Asia/Shanghai mysql:8.0.23 设置时区
--lower_case_table_names=1
下载最新版本的mongoDB数据库
docker pull mongo
创建配置文件:/root/mongo/mongod.conf
文件
即将配置文件放到数据文件夹下
mkdir -p /root/mongo
vim /root/mongo/mongod.conf
内容:
net:
port: 27017
bindIp: "0.0.0.0"
storage:
dbPath: "/data/db"
security:
authorization: enabled
说明:必须是3个空格
net:
port: 27017 端口
bindIp: "0.0.0.0" 允许远程访问
storage:
dbPath: "/data/db" 数据目录的路径
security:
authorization: enabled 允许通过用户名密码的方式访问
创建容器:
docker run -it -d --name mongo --net=host \
-m 500m \
-v /root/mongo:/etc/mongo \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=abc123456 \
-e TZ=Asia/Shanghai \
mongo --config /etc/mongo/mongod.conf
说明:
docker run -it -d --name mongo --net=host \
-m 500m \
-v /root/mongo:/etc/mongo \ 数据文件目录映射到Linux主机上,上方包含配置文件
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=abc123456 \
-e TZ=Asia/Shanghai \
mongo --config /etc/mongo/mongod.conf 指定mongo使用什么样的配置文件,参数写在镜像名字的后面
拉取镜像
docker pull redis:6.0.10
创建/root/redis/conf/redis.conf
文件
mkdir -p /root/redis/conf/
vim /root/redis/conf/redis.conf
内容:
bind 0.0.0.0 protected-mode yes port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "" databases 4 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir ./ requirepass abc123456
运行容器
docker run -it -d --name redis -m 300m --net=host \
-v /root/redis/conf:/usr/local/etc/redis \
-e TZ=Asia/Shanghai \
redis:6.0.10 \
redis-server /usr/local/etc/redis/redis.conf
docker load < rabbitmq.tar.gz
docker run -it -d --name mq -m 300m --net=host -e TZ=Asia/Shanghai rabbitmq
查找软件运行JDK版本的镜像
https://hub.docker.com/_/openjdk?tab=tags
打包后台软件
maven按钮 点击闪电图标(表示不执行测试用例) lifecycle package右键(run maven build)
创建目录存放jar文件
/root/emos
目录中放入emos-wx-api.jar
文件mkdir -p /root/emos
拉取JDK镜像
docker pull openjdk:15.0.2-oraclelinux8
#创建新的镜像引用,修改名字,相当于复制一个
docker tag openjdk:15.0.2-oraclelinux8 jdk15
#删除原有镜像引用,删除原有的
docker rmi openjdk:15.0.2-oraclelinux8
创建容器
docker run -it -d --name=emos-wx-api --net=host -m 500m \
-v /root/emos:/root/emos \
-e TZ=Asia/Shanghai jdk15
运行后端程序
#进入Java容器
docker exec -it emos-wx-api bash
cd /root/emos
#运行工作流项目
nohup java -jar emos-wx-api.jar >> out.log 2>&1 &
# 退出JDK容器
exit
查看out.log日志,看程序是否正常启动。
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#执行安装
yum install nginx -y
#启动Nginx
service nginx start
# 通过linux IP就可以看到Nginx的登陆界面
怎样查看nginx的运行
/etc/nginx/
目录/etc/nginx/nginx.conf
文件,添加SSL设置http { …… server { #SSL 访问端口号为 443 listen 443 ssl; #填写绑定证书的域名 server_name zkallen.club; #证书文件名称 ssl_certificate zkallen.club_bundle.crt; #私钥文件名称 ssl_certificate_key zkallen.club.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } location /emos-wx-api { proxy_pass http://localhost:8080/emos-wx-api; } location /emos-workflow { proxy_pass http://localhost:9090/emos-workflow; } } }
service nginx restart
101.43.84.151
http://101.43.84.151:8080/emos-wx-api/swagger-ui.html
https://www.zkallen.club
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。