使用docker搭建环境

文档:项目搭建从零开始
链接:http://note.youdao.com/noteshare?id=1506a1e0ca2b52e8208459248087f2d1

目录

二.  linux常用命令 

1.  常用命令

2.  docker常用命令

2.  防火墙相关

3.  内存清理/释放

4.  linux服务器vi 模式下中文乱码

三.  环境搭建

1.  centos7 安装jdk1.8

2.   安装Docker

3.  使用Docker安装Mysql

4.  使用Docker安装Rabbitmq

5.  使用Docker安装elasticsearch

 6.  使用Docker安装kibana


一.  购买云服务器

站内信查询服务器密码

修改服务器密码 

使用MobaXterm远程连接服务器

登录 - 腾讯云

重启服务器

二.  linux常用命令 

1.  常用命令

10分钟让你掌握Linux常用命令(4000+收藏)_lydms的博客-CSDN博客

端口冲突

lsof -i:8089

-- 杀掉PID

kill -9 PID

2.  docker常用命令

#1、查看docker中下载好的镜像:
docker images
 #2、查询需要的容器名称:
docker search mysql
#3、将需要的docker容器下载运行到本地(名称、端口号、msyql密码、ID):
docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
#4、查看运行的docker容器:
docker ps
#5、查看所有的docker容器(包括未运行的):
docker ps -a
#6、停止当前运行的docker容器:
docker stop first
#7、启动docker容器:
docker start first
#8、重启docker容器:
docker restart first
#9、删除docker容器:
docker rm first
#10、进入容器:
docker exec -it 容器名称 bash
比如:
docker exec -it mysql bash
#11、查看容器日志:
docker logs -f 容器id
比如:
docker logs 100fc4fbfbf3
docker logs -f 100fc4fbfbf3
#12、退出容器
exit 		#容器直接退出
ctrl +P +Q  #容器不停止退出 	---注意:这个很有用的操作

2.  防火墙相关

systemctl status firewalld     //查看防护墙状态

systemctl start firewalld       //启动防火墙

systemctl stop firewalld     关闭防火墙
service firewalld start 若遇到无法开启先用: systemctl unmask firewalld.service 然后: systemctl start firewalld.service 


开放端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent    
关闭端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent
开放端口后重新启动加载
firewall-cmd --reload   


2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports 
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service 
4、查看防火墙状态
 firewall-cmd --state 
5、查看监听的端口
netstat -lnpt

3.  内存清理/释放

1.清理前内存使用情况
free -h

2.开始清理 
echo 1 > /proc/sys/vm/drop_caches

3.清理后内存使用情况
free -h

 

4.  linux服务器vi 模式下中文乱码

在/etc/vimrc 和/etc/virc里面写如下代码:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

set termencoding=utf-8

set encoding=utf-8

 5. linux服务器微服务启动

#1.后台启动
通过命令 java -jar aa.jar &
增加了一个&符号,代表后台启动,ctrl +C ,没有关闭程序,但是关闭xshell 终端,还是会关闭程序

运行jar包并输出日志:

java  -jar testdemo.jar > /data/testdemo.log &

#2.通过命令nohup java -jar eureka.jar &
然后就能看到目录种出现nohup.out文件,启动微服务的日志就在nohup.out中,如下图所示

三.  环境搭建

1.  centos7 安装jdk1.8

  1. 检查是否安装过jdk

rpm -qa | grep java

如果有安装过其他版本的jdk,删除。注意修改下面命令的xxx, 表示你通过上一条命令查到的安装包的名字。如果没有返回,请跳过这一步。

rpm -e xxx --nodeps

  2. 创建java文件夹存放jdk包

mkdir /usr/local/java
cd /usr/local/java
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

  3. 解压并删除原来的安装包

tar -xvf jdk-8u202-linux-x64.tar.gz
rm -rf jdk-8u202-linux-x64.tar.gz

  4. 进入解压后的文件夹里,用pwd命令显示路径

cd jdk1.8.0_202/
pwd

   5. 编辑环境变量的配置文件

vim /etc/profile

按小键盘的下键来到配置文件的底端,点击 i 键进入插入模式,新起一行准备写入 java 的环境变量配置:

JAVA_HOME=/usr/local/java/jdk1.8.0_202
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

点击 ESC 键退出插入模式。点击 : 键,输入 wq 敲回车键保存退出,: 为英文状态下的符号
使环境变量更改的配置立即生效

source /etc/profile

 6. 查看 jdk 是否安装成功

java -version
javac -version

2.   安装Docker

1.安装Docker  --查看操作系统内核版本

uname -r

3.10.0-1062.12.1.el7.x86_64 ----结果显示

cat /etc/os-release 

CentOS Linux release 7.7.1908 (Core) ----系统要在7以上
--安装基本环境需求
 

yum -y install gcc
yum -y install gcc-c++
gcc -v 

----查看是否安装成功
--习惯性安装前卸载老版本

yum remove docker \
            docker-client \
            docker-client-latest \
            docker-common \
            docker-latest \
            docker-latest-logrotate \
            docker-logrotate \
            docker-engine

--安装工具包

yum install -y yum-utils

--配置仓库(最好配置阿里云)

配置外网仓库,网速慢,还容易出错
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
-----------------------------------------------------------------------    
可配置成阿里云仓库 
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

--更新软件包索引

yum makecache fast

--开始安装社区版

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

--启动docker

systemctl start docker

--判断是否安装成功

docker version
或者
docker -v
或者
docker info

--测试运行,第一次加载,没有镜像,会自动从仓库中拉去镜像

docker run hello-world

--查看已经下载的镜像(从这里可以查看已有镜像的id) 

docker images

 REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
hello-world           latest              bf756fb1ae65        4 months ago      13.3kB


--docker rmi 删除镜像

docker rmi -f f19c56ce92a8

docker rmi -f 镜像id #删除指定id的镜像
[root@iz2zeak7sgj6i7hrb2g862z ~]# docker rmi -f f19c56ce92a8

docker rmi -f $(docker images -aq) #删除全部的镜像
[root@iz2zeak7sgj6i7hrb2g862z ~]# docker stop $(docker ps -a -q)

外网镜像速度太慢一般测不通
--要是阿里云服务器,可配置镜像加速器
创建文件夹

sudo mkdir -p /etc/docker

创建并修改配置文件

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://t2wwyxhb.mirror.aliyuncs.com"]
}
EOF

--重新加载配置文件

sudo systemctl daemon-reload

--重启docker

sudo systemctl restart docker

--检查是否生效

ps -ef| grep docker

--设置docker开机自启动

systemctl enable docker

---结果显示
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

再次测试 

docker run hello-world
docker ps -a

 
--卸载docker

systemctl stop docker --停止docker服务
yum remove docker-ce docker-ce-cli containerd.io --卸载依赖
rm -rf /var/lib/docker --删除依赖

安装docker-compose   ---- 容器编排   基础使用不用装

根据网络环境,尝试多次安装,错注意关闭相关进程,否则可能会执行出
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
https://docs.docker.com/compose/install/
注意版本的对应
chmod +x /usr/local/bin/docker-compose
docker-compose --version

设置开机启动

systemctl enable docker

容器开机启动

docker update --restart=always 容器名称或者容器id

3.  使用Docker安装Mysql

#docker 中下载 mysql 5.7 版本

docker pull mysql:5.7

#查看镜像是否下载成功

docker images

#创建容器并指定mysql 端口和root密码 (建议更换端口)

docker run --name mysql -p 3366:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

-name :容器的名称,这里取名为mysql
-e 配置账户密码,这里为root账户,密码为123456
-p 端口映射,本机的3306端口映射容器的3306端口
-d 启动容器后输出容器的id
最后的mysql表示镜像名字为mysql
#容器是否创建成功

docker ps -a

#进入容器

docker exec -it mysql bash

#登录mysql

mysql -u root -p

#输入密码

123456

#输入密码root重置密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

#添加远程登录用户

CREATE USER 'XXXXXXXX' IDENTIFIED WITH mysql_native_password BY 'XXXXXXXX';

#添加远程登录用户权限

GRANT ALL PRIVILEGES ON *.* TO 'XXXXXXXX';

注意放行端口和安全组3366
测试

 使用Navicat远程连接Mysql

 注意:停止容器

-- 查看正在运行的容器
docker ps

CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS         PORTS                                                  NAMES
d81256b6aeef   mysql:5.7   "docker-entrypoint.s…"   3 hours ago   Up 4 minutes   33060/tcp, 0.0.0.0:3366->3306/tcp, :::3366->3306/tcp   mysql

-- 停止容器
docker stop d81256b6aeef

-- 启动容器
docker start d81256b6aeef

-- 启动报错,先重启下docker
systemctl restart docker


exit 		#容器直接退出
ctrl +P +Q  #容器不停止退出 	---注意:这个很有用的操作

4.  使用Docker安装Rabbitmq

  拉取镜像

docker pull rabbitmq

  查看镜像

docker images

  创建容器

docker run    --name rabbitmq   -d   -p 15672:15672   -p 5672:5672  rabbitmq

  查看创建容器是否成功

docker ps -a 

  进入容器

docker exec -it rabbitmq bash

  开启远程访问web界面插件 

rabbitmq-plugins enable rabbitmq_management 

  退出

exit

  访问地址:

http://xx.xx.xx.xx:15672

  RabbitMQ初始账号:

用户名:guest 密码:guest

5.  使用Docker安装elasticsearch

docker安装elasticsearch(最详细版)_bright的博客-CSDN博客_docker安装elasticsearch

http://110.42.156.112:5601     kibana

http://110.42.156.112:9200     elasticsearch

http://110.42.156.112:9100     elasticsearch-head

 修改es启动内存

进入es容器

docker exec -it elasticsearch bash

在elasticsearch的config中加jvm.options文件,修改堆栈大小,默认是2GB

修改1g为  512m

保存重启容器

 部分词不想分开可以进入ik分词器里面进行自定义配置

#1.进入es容器
docker exec -it elasticsearch /bin/bash

#2.进入ik分词器目录(ik分词器是es的一个插件)
cd /usr/share/elasticsearch/plugins/ik/config

#3.编辑xml
vi IKAnalyzer.cfg.xml

#4.创建文件 sang.dic 并添加词
touch sang.dic

#5.退出es容器
ctrl+P+Q

#5.重启es
docker ps
docker restart 100fc4fbfbf3

 <entry key="ext_dict">sang.dic</entry>

touch sang.dic

使用springboot集成es时注意点

pom文件导入的es版本(需要自定义)和服务器安装的es版本要一致,否则请求无法发送

狂神elasticsearch笔记(纯手敲)_lisen01070107的博客-CSDN博客

视频地址

【狂神说Java】ElasticSearch7.6.x最新完整教程通俗易懂_哔哩哔哩_bilibili

京东项目github地址

 6.  使用Docker安装kibana

docker安装kibana_shykevin的博客-CSDN博客

elasticsearch.hosts: [ "http://110.42.156.112:9200" ] 中的ip地址为es对外的ip

可以进入kibanna容器内 ping 110.42.156.112  

能访问说明可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值