初识·Docker
1、安装 Linux 系统
略,可使用
VMware
或阿里云等其他服务器,装完后顺便换个源,装个JDK
2、安装 docker
略,不同系统有不同操作步骤
3、远程连接
通过
ssh
进行远程连接,使用scp
进行文件上传与下载,无需下载其他软件,以下是在Windows Terminal
中进行操作
1 ssh 用户名@域名或IP地址 #回车后输入该用户密码即可
1
2 scp 本地文件路径 用户名@域名或IP地址:服务器文件路径 #上传文件, 若要上传文件夹则加上 -r
scp 用户名@域名或IP地址:服务器文件路径 本地文件路径 #下载文件, 若要下载文件夹则加上 -r
4、拉镜像
Nacos
1 docker pull nacos/nacos-serverSentinel
1 docker pull bladex/sentinel-dashboardMySQL
1 docker pull mysqlNginx
1 docker pull nginx
5、开始搭建
5.1 启动 Docker
略,不同系统启动命令不同
5.2 自定义网段
1 | docker network create --subnet=192.168.32.0/24 cying #ip可自己指定, cying是网段名, 可自己指定 |
5.2 Nacos
1 | docker run -d\ |
5.3 Sentinel
1 | docker run -d\ |
5.4 MySQL
前期准备
1 | mkdir /docker/v/mysql/data |
my.conf
内容:
1 | [mysqld] |
创建容器
1 | docker run -d\ |
5.5 Nginx
前期准备
1 | mkdir /docker/v/nginx |
nginx.conf
内容:
1 | user nginx; |
创建容器
1 | docker run -d\ |
6、使用
到此为止,环境就配置完成了,如何使用呢?
这里以
SpringCloud
微服务为例,每个微服务都有自己的端口,设有如下微服务
Student
服务:port=2001
,RequestMapping=/stu
Department
服务:port=2002
,RequestMapping=/dept
微服务中的
Nacos
、Sentinel
、MySQL
服务器地址就可以直接使用对应docker
容器的地址了再在
nginx.conf
的server
块添加配置,令/stu
转发到2001
端口,/dept
转发到2002
端口即可
1
2
3
4
5
6
7 server {
···
location ~ /stu {
proxy_pass http://ip_addr:2001
}
···
}
7、附 Tomcat 配置
拉取
Tomcat
1
docker pull tomcat
启动
tomcat
1
docker run -d --name Tomcat -p 8080:8080 tomcat
mkdir /docker/v/tomcat
复制配置文件、
webapps
1
2docker cp tomcat:/usr/local/tomcat/conf/tomcat-user.xml /docker/v/tomcat/tomcat-user.xml
docker cp tomcat:/usr/local/tomcat/webapps.dist /docker/v/tomcat/webapps编辑
tomcat-user.xml
,先检查文件权限并根据情况做出调整1
2
3
4
5
6
7
8
9
10
11< ?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-status" />
<role rolename="manager-jmx" />
<user username="tomcat" password="root" roles="manager-gui,manager-script,manager-status,manager-jmx />
</tomcat-users>编辑
webapps/manager/META-INF/context.xml
,先检查文件权限并根据情况做出调整1
2
3
4
5< ?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>干掉第一个容器
1
2docker stop Tomcat
docker rm Tomcat创建新的容器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16docker run -d\
-p 8080:8080\
-e TZ="Asia/Shanghai"\
--restart=always\
--name Tomcat\
--net cying\
--ip 192.168.32.8\
-v /etc/localtime:/etc/localtime:ro\
-v /docker/v/tomcat/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml\
-v /docker/v/tomcat/webapps:/usr/local/tomcat/webapps\
tomcat
-------------------------
请修改参数:--name、--net、--ip、-v
其中:
--net 和 --ip 根据自定义网段来设置
-v 请将 /docker/v/tomcat 修改为自己的路径
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Cin's Home!