1、2020年9月23日
决定将
我的腾讯云:mysql、redis和mall-admin、mall-search、mall-port
朋友的阿里云:nginx、mq、mongodb
朋友的腾讯云:es、logstash、kibana
docker安装:一句命令自动安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
参考:https://www.runoob.com/docker/ubuntu-docker-install.html
Redis安装:
- 用docker拉取镜像
docker pull redis:5
- 使用如下命令启动Redis服务:
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-d redis:5 redis-server --appendonly yes
- 进入Redis容器使用
redis-cli
命令进行连接:
docker exec -it redis redis-cli
Nginx安装
参考:http://www.macrozheng.com/#/deploy/mall_deploy_docker?id=redis%e5%ae%89%e8%a3%85
- 下载Nginx
1.10
的docker镜像:
docker pull nginx:1.10
Copy to clipboardErrorCopied
- 先运行一次容器(为了拷贝配置文件):
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx:1.10
Copy to clipboardErrorCopied
- 将容器内的配置文件拷贝到指定目录:
docker container cp nginx:/etc/nginx /mydata/nginx/
- 修改文件名称:
mv nginx conf
- 终止并删除容器:
docker stop nginx
docker rm nginx
- 使用如下命令启动Nginx服务:
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
RabbitMQ安装
- 下载rabbitmq
3.7.15
的docker镜像:
docker pull rabbitmq:3.7.15
Copy to clipboardErrorCopied
- 使用如下命令启动RabbitMQ服务:
docker run -p 5672:5672 -p 15672:15672 --name rabbitmq \
-d rabbitmq:3.7.15
Copy to clipboardErrorCopied
- 进入容器并开启管理功能:
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_management
Copy to clipboardErrorCopied
- 开启防火墙:
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
Copy to clipboardErrorCopied
- 访问地址查看是否安装成功:http://192.168.3.101:15672
-
输入账号密码并登录:guest guest
-
创建帐号并设置其角色为管理员:mall mall
- 创建一个新的虚拟host为:/mall
- 点击mall用户进入用户配置页面
- 给mall用户配置该虚拟host的权限
2020年10月11日
docker开启远程:
https://blog.csdn.net/weixin_46235241/article/details/104108567
https://blog.csdn.net/xp_lx1/article/details/85258495
2010年10月12日
docker的配置文件更改出问题,导致docker无法重启,复制该答案中的配置文件,即可重启成功。
https://www.jianshu.com/p/7d38cd3bf387
[root@localhost ~]# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
遇到的问题:
这几天就是为了给docker设置部署的自动覆盖功能,结果弄了几天,覆盖功能没有实现,还搞出一大堆问题,搞了个寂寞;
2020年10月13日
docker的完全卸载:
https://www.cnblogs.com/shmily3929/p/12085163.html
先用这个命令:
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
用下面的命令查看自己安装哪些东西
dpkg -l | grep docker
然后逐个卸载
1、
sudo apt-get remove docker-ce-cli
2、
sudo apt-get remove docker-ce
用docker -v查看,结果可以看到都没了
下面删除一些配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 删除无用的相关的配置文件
用查看命令查找还有没有和docker有关的文件 find / -name docker 可见还是有很多,但是不知道是不是可以删除的,先不管。
安装特定版本的docker:https://www.runoob.com/docker/ubuntu-docker-install.html
我安装的:5:18.09.0~3-0~ubuntu-xenial
sudo apt-get install docker-ce=5:18.09.0~3-0~ubuntu-xenial docker-ce-cli=5:18.09.0~3-0~ubuntu-xenial containerd.io
2020年10月14日
重装云服务器,然后添加root用户
1. 默认用户登录(如,ubuntu)
2. 设置root用户密码
sudo passwd root
输入密码, 再重复确认输入一次
3. 允许root远程登录
sudo vi /etc/ssh/sshd_config
将PermitRootLogin 置为yes
# Authentication:
LoginGraceTime 120
# PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes
保存退出.
4. 重启ssh服务
sudo service ssh restart
5. 使用mobaxterm等远程桌面以root身份登录
启用docker:注意要用线程保护的方式启动:systemctl start docker
给Ubuntu安装Java环境和配置环境变量
https://cloud.tencent.com/developer/article/1162527
给Ubuntu安装maven环境(其中配置文件打开空白的话,可以用Xftp5直接进入可视化修改):
https://cloud.tencent.com/developer/article/1531069
尝试用覆盖标签的方式进行自动部署和覆盖:https://blog.csdn.net/shenzhen_zsw/article/details/90291746
遇到的坑:修改完docker地址和端口之后,需要在maven里面清一下缓存,不然点击package还是用原来的配置,操!!!
所以应该先点clean,再点击package。
启动logstash:
docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:106.55.22.253:9200 \
-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2
部署mall-admin
docker run -p 8080:8080 --name mall-admin \
--link mysql:db \
--link redis:redis \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT
部署mall-search
docker run -p 8081:8081 --name mall-search \
--link 106.55.22.253:9200 \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/search/logs:/var/logs \
-d mall/mall-search:1.0-SNAPSHOT
部署mall-port
docker run -p 8085:8085 --name mall-portal \
--link mysql:129.204.153.156:3306 \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT
查看docker日志:
https://www.jianshu.com/p/1eb1d1d3f25e
1、查看指定时间后的日志,只显示最后100行:
$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
2、查看最近30分钟的日志:
$ docker logs --since 30m CONTAINER_ID
3、查看某时间之后的日志:
$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
4、查看某时间段日志:
$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
查看端口被占用情况:
如查看3306端口使用情况:
lsof -i : 3306
如查看3306的方法二:
netstat -an |grep 3306
2020年10月18日
因为在本地运行没啥问题,打包出来运行项目就报错,而且本地的maven依赖有很多爆红
所以猜测是maven工程依赖的问题,更换了maven的本地仓库位置
然后在idea终端执行下面两条命令,让maven自动从中央仓库下载需要的jar包
mvn compile
mvn clean
运行完后,maven自动下载了很多有用了的依赖。
上面的处理方式还是有问题,网上说是maven版本比idea高太多的原因,然后我将maven从3.6.3降到3.3.9.结果就可以了