开发环境搭建原创
Java 开发环境搭建,主要涉及 JDK 、MySQL、IDEA、Maven、Tomcat、Node、Docker 等工具的安装及使用。
# 一、Java环境安装及配置
①下载OracleJDK:
官方网站: https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html (opens new window)
②安装
安装路径:D:\installations\Java\jdk1.8.0_281
安装中途弹出 jre 安装路径:D:\installations\Java\jre1.8.0_281
这里其实可以不用安装 jre,因为 jdk 中自带了 jre 环境。
③配置环境变量
变量名:JAVA_HOME
变量值:D:\installations\Java\jdk1.8.0_281
系统变量的 Path 中配置
新建两个变量值:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
配置 CLASSPATH
系统变量中新增一个:
- 变量名:
CLASSPATH
- 变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
最前面有个英文的点。
# 二、MySQL数据库安装
MySQL数据库环境:
# 2.1 下载
MySQL8:https://dev.mysql.com/downloads/file/?id=501541 (opens new window)
用的压缩包下载:https://dev.mysql.com/downloads/mysql/ (opens new window)
选择的较小的包下载。
# 2.2 安装和配置
解压到路径:D:\installations\db\mysql-8.0.23-winx64
# 2.3 初始化MySQL
记录生成的用户密码(随机生成的),输入以下指令:
mysqld --initialize --console
执行报错:
解决办法:
实际上在系统路径下有这个文件
将它复制到 C:\Windows\System32
下
接着重新打开一个窗口,执行命令:mysqld --initialize --console
D:\installations\db\mysql-8.0.23-winx64\bin>mysqld --initialize --console
2021-02-14T10:21:11.362928Z 0 [System] [MY-013169] [Server] D:\installations\db\mysql-8.0.23-winx64\bin\mysqld.exe (mysqld 8.0.23) initializing of server in progress as process 9700
2021-02-14T10:21:11.372128Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-02-14T10:21:12.259765Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-02-14T10:21:13.259702Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2f7c)a0Cl&Sm
2
3
4
5
其中root用户密码为:2f7c)a0Cl&Sm
# 2.4 安装MySQL服务
命令窗口输入:mysqld --install
管理员权限打开命令窗口,进入到安装路径下的 bin 里面
# 2.5 启动MySQL服务
命令:net start mysql
# 2.6 修改密码
命令窗口输入:mysql -u root -p
输入密码后回车。
依次执行以下命令:
--修改加密规则【可选】
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)
--更新一下用户的密码【可选】
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.01 sec)
--刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
--修改密码为:zhuye8899【可直接进行这步修改】
mysql> alter user 'root'@'localhost' identified by 'zhuye8899';
Query OK, 0 rows affected (0.01 sec)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 2.7 配置环境变量
高级系统设置 ==> 高级 ==> 环境变量 ==>? 系统变量 ==> path ==> 编辑 ==> 新建
填入变量值:D:\installations\db\mysql-8.0.23-winx64\bin
依次点 确定 退出。
# 2.8 数据库连接工具:Navicat
# 卸载和下载
彻底删除:https://www.php.cn/tool/navicat/428286.html (opens new window)
下载:https://navicat.com.cn/download/navicat-premium (opens new window)
安装位置:D:\installations\db\Navicat Premium 15
# 安装
# 合理使用
参考:https://zhuanlan.zhihu.com/p/492364793 (opens new window) 点激活的时候要断网。进行手动激活即可。
参考1:http://www.itmind.net/118527.html (opens new window)
参考2:https://www.jianshu.com/p/4113cd5ef139 (opens new window)
# 2.9 连接测试
# 2.10 完全卸载
MySQL安装参考:https://zhuanlan.zhihu.com/p/150360780 (opens new window)
数据库连接工具Navicat参考:https://www.cnblogs.com/kkdaj/p/12794804.html (opens new window)
Navicat15安装包及破解工具:https://kkdaj.lanzous.com/ic03rbi (opens new window)
# 三、IDEA安装-插件
# 3.1 下载
官网:https://www.jetbrains.com/zh-cn/idea/ (opens new window)
# 3.2 安装
安装路径:D:\installations\dev\IntelliJ IDEA 2020.3.2
# 3.3 无限试用法
第一次安装,先免费使用,点击 Evaluate
点击 Evaluate 后,进入到 IDE,选择 Plugins,右侧点击设置,选择第一个,然后搜索 IDE Eval Reset
安装插件并重启,检查是否生效:Help→Eval Reset
点击:Eval Reset 状态为 Not yet(未生效),勾选 Logout when reset 和 Auto reset before…,点击 Reload,Reset 按钮,并重启 IDEA。(我这里最开始也是Not yet,图片是勾选重启后的状态)
检查工具是否生效
- 重启 IDEA 之后,我们再次打开工具 Help -> Eval Reset,可以看到当前工具状态已经被重置为最新的时间,说明工具已经生效了。
- 也可以打开 Help -> Register ,查看 IDEA 试用期还剩几天(本次显示为30天),后续每次关闭,启动 IDEA,试用期都会被重置,一直保持在30天。
注册码:
BISACXYELK-eyJsaWNlbnNlSWQiOiJCSVNBQ1hZRUxLIiwibGljZW5zZWVOYW1lIjoiQ2hpbmFOQiIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJTQyIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUyIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNGIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IkdPIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJQQyIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNWIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJTVSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUk0iLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUERCIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBXUyIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQR08iLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFBTIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBQQyIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUkIiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFNXIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IkRQIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJTIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9XSwibWV0YWRhdGEiOiIwMTIwMjAwNzI4RVBKQTAwODAwNiIsImhhc2giOiIxNTAyMTM1NC8wOi0xMjUxMTE0NzE3IiwiZ3JhY2VQZXJpb2REYXlzIjowLCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-H7NUmWcLyUNV1ctnlzc4P79j15qL56G0jeIYWPk/HViNdMg1MqPM7BR+aHR28yyuxK7Odb2bFDS8CeHNUtv7nT+4fUs85JJiqc3wc1psRpZq5R77apXLOmvmossWpbAw8T1hOGV9IPUm1f2O1+kLBxrOkdqPpv9+JanbdL7bvchAid2v4/dyQMBYJme/feZ0Dy2l7Jjpwno1TeblEAu0KZmarEo15or5RUNwtaGBL5+396TLhnw1qL904/uPnGftjxWYluLjabO/uRu/+5td8UA/39a1nvGU2nORNLk2IdRGIheiwIiuirAZrII9+OxB+p52i3TIv7ugtkw0E3Jpkw==-MIIDlzCCAn+gAwIBAgIBCTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDEw1KZXRQcm9maWxlIENBMCAXDTE4MTEwMTEyMjk0NloYDzIwOTkwODA5MDIyNjA3WjBoMQswCQYDVQQGEwJDWjEOMAwGA1UECBMFTnVzbGUxDzANBgNVBAcTBlByYWd1ZTEZMBcGA1UEChMQSmV0QnJhaW5zIHMuci5vLjEdMBsGA1UEAxMUcHJvZDN5LWZyb20tMjAxODExMDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdXyaNhhRySH1a8d7c8SlLLFdNcQP8M3gNnq7gudcpHC651qxRrN7Qks8gdXlIkA4u3/lp9ylp95GiIIDo4ydYje8vlTWDq02bkyWW/G7gZ3hkbBhRUK/WnNyr2vwWoOgwx5CfTRMjKkPkfD/+jffkfNfdGmGcg9yfnqPP9/AizKzWTsXSeS+0jZ8Nw5tiYFW+lpceqlzwzKdTHug7Vs0QomUPccRtZB/TBBEuiC7YzrvLg4Amu0I48ETAcch/ztt00nx/oj/fu1DTnz4Iz4ilrNY+WVIEfDz/n3mz+PKI9kM+ZeB0jAuyLsiC7skGpIVGX/2HqmZTtJKBZCoveAiVAgMBAAGjgZkwgZYwSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TAJBgNVHRMEAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIFoDAdBgNVHQ4EFgQUYSkb2hkZx8swY0GRjtKAeIwaBNwwDQYJKoZIhvcNAQELBQADggEBAJZOakWgjfY359glviVffBQFxFS6C+4WjYDYzvzjWHUQoGBFKTHG4xUmTVW7y5GnPSvIlkaj49SzbD9KuiTc77GHyFCTwYMz+qITgbDg3/ao/x/be4DD/k/byWqW4Rb8OSYCshX/fNI4Xu+hxazh179taHX4NaH92ReLVyXNYsooq7mE5YhR9Qsiy35ORviQLrgFrMCGCxT9DWlFBuiPWIOqN544sL9OzFMz+bjqjCoAE/xfIJjI7H7SqGFNrx/8/IuF0hvZbO3bLIz+BOR1L2O+qT728wK6womnp2LLANTPbwu7nf39rpP182WW+xw2z9MKYwwMDwGR1iTYnD4/Sjw=
# 四、Maven配置
# 4.1 下载
官网:https://maven.apache.org/download.cgi (opens new window)
4.2 安装与配置
解压到指定路径下:D:\installations\dev\apache-maven-3.6.3
环境变量配置:系统变量 ==> 新建
- 变量名:
MAVEN_HOME
- 变量值:
D:\installations\dev\apache-maven-3.6.3
选择 Path ==> 编辑 ==> 新建
添加:%MAVEN_HOME%\bin
4.3 检验是否配置完成
Win+R
键,输入 cmd 回车;
输入指令:mvn -version
回车;
得到 maven 信息即为配置成功。
4.4 配置 Settings
主要是配置 repo 文件路径,以及加速配置。
仓库路径:
<localRepository>/path/to/local/repo</localRepository>
配置加速仓库
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
或者
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
2
3
4
5
6
7
8
9
10
11
12
13
14
Maven使用建议: 一个大型项目单独使用一个 repo,避免依赖冲突
参考:https://blog.csdn.net/a805814077/article/details/100545928 (opens new window)
# 五、Tomcat配置
# 5.1 下载
官网:https://tomcat.apache.org/download-80.cgi (opens new window)
# 5.2 安装
解压到指定路径即可。 解压路径:D:\installations\dev\apache-tomcat-8.5.63
# 5.3 配置环境变量
使用Tomcat之前需要安装JDK,本地已经安装了JDK8。
①TOMCAT_HOME
系统变量下新建一个:
变量名:TOMCAT_HOME
变量值:D:\installations\dev\apache-tomcat-8.5.63
②CLASSPATH
在 classpath 下添加一个
变量值:%TOMCAT_HOME%\lib\servlet-api.jar;
③Path
在 path 下添加一个
变量值:%TOMCAT_HOME%\bin;
# 5.4 使用
参考:https://blog.csdn.net/Atishoo_13/article/details/86428867 (opens new window)
IDEA 中使用时,控制台中文乱码问题:https://cloud.tencent.com/developer/article/1795283 (opens new window)
IDEA 配置 Tomcat 虚拟机配置:
-Dfile.encoding=UTF-8 -noverify -Xms1G -Xmx2G
# 六、虚拟机 VMWare15
# 1、安装
安装教程:https://www.jb51.net/article/171734.htm (opens new window)
# 2、网络配置【NAT模式】
进入系统后,打开终端,配置固定 IP。
输入指令:ifconfig 来查看网卡信息
[zhuye@localhost ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.137.128 netmask 255.255.255.0 broadcast 192.168.137.255
inet6 fe80::e013:43be:cb5d:e6d5 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4a:4e:5b txqueuelen 1000 (Ethernet)
RX packets 155772 bytes 231169206 (220.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45861 bytes 2918877 (2.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 256 bytes 22272 (21.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 256 bytes 22272 (21.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:bd:6b:17 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
确定 IP 范围
①
NAT:
网络: vmnet8
子网IP:192.168.137.0
子网掩码:255.255.255.0
网关IP:192.168.137.2
2
3
4
②起始地址范围内即可
DHCP:
网络: vmnet8
子网IP:192.168.137.0
子网掩码:255.255.255.0
起始IP:192.168.137.128
结束IP:192.168.137.254
2
3
4
5
电脑本地打开cmd窗口,输入 ipconfig 查看网卡信息: IPv4 地址
配置静态IP:
需要切换到root用户:使用 su 命令后,输入 root 用户的密码即可。
敲 su root 然后回车,或者敲 su - root 然后回车。这两种方式也都可以从root用户切换回普通用户。
但这两种方式有点区别:
su 后面不加用户是默认切到 root
su 是不改变当前变量
su - 是改变为切换到用户的变量
也就是说 su 只能获得root的执行权限,不能获得环境变量,而su -是切换到root并获得root的环境变量及执行权限.
总结来说就是:
su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径。
su - 不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
进入网络配置文件:
cd /etc/sysconfig/network-scripts/
编辑 ifcfg-ens33 这个文件
命令:vim ifcfg-ens33
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=33ca85f7-d0d7-426f-a9db-cd57f3dfca27
DEVICE=ens33
ONBOOT=no
2
3
4
5
6
7
8
9
10
11
12
13
14
15
修改如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #原本为dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=33ca85f7-d0d7-426f-a9db-cd57f3dfca27
DEVICE=ens33
ONBOOT=yes #原来为no
IPADDR=192.168.137.131 #IP-在IP范围内选一个
GATEWAY=192.168.137.2 #网关
DNS1=192.168.137.2 #与网关一致
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
重启服务:
service network restart
测试:
本地 ping 虚拟机中 centos7 中配置的 IP:
在虚拟机中ping本地主机:
虚拟机中ping外网:
都能ping通,说明网络已经配置完毕。
桥接模式参考:https://blog.csdn.net/hewenqing1/article/details/104131265 (opens new window)
# 七、CentOS7 中安装 Docker
# 7.1 查看内核版本
uname -r
# 7.2 更新yum命令
这个需要切换到root用户下执行命令:
su root
yum update
2
3
# 7.3卸载旧版本(如果安装过)
sudo yum remove docker docker-common docker-selinux docker-engine
# 7.4 安装需要的软件包
yum-tuil 提供 yum-config-manager 功能,另外两个是 devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#执行后
[zhuye@localhost ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
[sudo] zhuye 的密码:
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.njupt.edu.cn
* extras: mirrors.njupt.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本
软件包 device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.187-6.el7_9.4.x86_64 已安装并且是最新版本
无须任何处理
2
3
4
5
6
7
8
9
10
11
12
13
14
# 7.5 设置 yum 源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#执行后
[zhuye@localhost ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
2
3
4
5
6
7
8
# 7.6 查看所有仓库所有 docker 的版本
yum list docker-ce --showduplicates | sort -r
#------执行效果【这里看的是社区版】
[zhuye@localhost ~]$ yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
可安装的软件包
* updates: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Determining fastest mirrors
* base: mirrors.tuna.tsinghua.edu.cn
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 7.7 安装docker
选择适用于centos系统的docker版本:18.03.1.ce-1.el7.centos
$ yum install docker-ce (这样写默认安装最新版本)
$ yum install docker-ce-<VERSION_STRING> (指定安装版本)
例: yum install docker-ce-18.03.1.ce
##-------------执行过程
[zhuye@localhost ~]$ sudo yum install docker-ce-18.03.1.ce
[sudo] zhuye 的密码:
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.njupt.edu.cn
* extras: mirrors.njupt.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker-ce.x86_64.0.18.03.1.ce-1.el7.centos 将被 安装
--> 正在处理依赖关系 container-selinux >= 2.9,它被软件包 docker-ce-18.03.1.ce-1.el7.centos.x86_64 需要
--> 正在处理依赖关系 pigz,它被软件包 docker-ce-18.03.1.ce-1.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.119.2-1.911c772.el7_8 将被 安装
---> 软件包 pigz.x86_64.0.2.3.3-1.el7.centos 将被 安装
--> 解决依赖关系完成
依赖关系解决
=========================================================================================================================
Package 架构 版本 源 大小
=========================================================================================================================
正在安装:
docker-ce x86_64 18.03.1.ce-1.el7.centos docker-ce-stable 35 M
为依赖而安装:
container-selinux noarch 2:2.119.2-1.911c772.el7_8 extras 40 k
pigz x86_64 2.3.3-1.el7.centos extras 68 k
事务概要
=========================================================================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:35 M
安装大小:35 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm | 40 kB 00:00:00
(2/3): pigz-2.3.3-1.el7.centos.x86_64.rpm | 68 kB 00:00:00
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm 的公钥尚未安装
(3/3): docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm | 35 MB 00:00:04
-------------------------------------------------------------------------------------------------------------------------
总计 8.5 MB/s | 35 MB 00:00:04
从 https://download.docker.com/linux/centos/gpg 检索密钥
导入 GPG key 0x621E9F35:
用户ID : "Docker Release (CE rpm) <docker@docker.com>"
指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
来自 : https://download.docker.com/linux/centos/gpg
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 1/3
正在安装 : pigz-2.3.3-1.el7.centos.x86_64 2/3
正在安装 : docker-ce-18.03.1.ce-1.el7.centos.x86_64 3/3
验证中 : pigz-2.3.3-1.el7.centos.x86_64 1/3
验证中 : docker-ce-18.03.1.ce-1.el7.centos.x86_64 2/3
验证中 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 3/3
已安装:
docker-ce.x86_64 0:18.03.1.ce-1.el7.centos
作为依赖被安装:
container-selinux.noarch 2:2.119.2-1.911c772.el7_8 pigz.x86_64 0:2.3.3-1.el7.centos
完毕!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 7.8 启动docker
sudo systemctl start docker
# 7.9 设置开机启动
sudo systemctl enable docker
# 7.10 验证
docker version
# 7.11 配置阿里云镜像
方法一:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
方法二:
#新建文件
$ mkdir -p /etc/docker
#编写脚本
$ tee /etc/docker/daemon.json <<-'EOF'
#内容
{
"registry-mirrors": [
"https://pfsd2k4t.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"
]
}
EOF
#导入生效
$ systemctl daemon-reload (导入操作)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 7.12 一些问题及解决
在普通用户下执行docker命令需要sudo权限
启动docker报错:权限问题
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/version: dial unix /var/run/docker.sock: connect: permission denied
原因分析: docker 进程使用 Unix Socket 而不是 TCP 端口。而默认情况下,Unix socket 属于 root 用户,因此需要 root 权限 才能访问。
查看这个文件权限,权限不足以连接这个文件。
解决办法:
将普通用户加入到 docker 组:
#1、添加docker用户组【可能已经存在】
sudo groupadd docker
#2、将登陆用户加入到docker用户组
sudo gpasswd -a $USER docker
#我的做法,直接将USER改为zhuye
sudo apasswd -a zhuye docker
#3、更新用户组
newgrp docker
#4、检验
docker version
#--------------------------过程
[zhuye@localhost ~]$ sudo groupadd docker
groupadd:“docker”组已存在
[zhuye@localhost ~]$
[zhuye@localhost ~]$ sudo gpasswd -a zhuye docker
正在将用户“zhuye”加入到“docker”组中
[zhuye@localhost ~]$ newgrp docker
[zhuye@localhost ~]$ docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
采用另一种方法:【貌似不行】
[zhuye@localhost ~]$ sudo usermod -aG docker zhuye
[sudo] zhuye 的密码:
[zhuye@localhost ~]$ cat /etc/group |grep docker
docker:x:982:zhuye
2
3
4
但执行 docker version 后,还是连接失败。
经查找文章知道,需要重新登录才能生效。
# 八、CentOS中给一般用户添加sudo权限
# 8.1 查看sudo版本
sudo -V
如果找不该命令,需要使用 yum install sudo 命令安装
# 8.2 切换到root用户下
su root
# 8.3 修改/etc/sudoers权限
用 ls -l /etc/sudoers 查看权限
[root@localhost zhuye]# ls -l /etc/sudoers
-r--r-----. 1 root root 4328 9月 30 2020 /etc/sudoers
2
可以看到文件只有只读权限,需要增加写权限
#修改完后面要修改回来
chmod u+w /etc/sudoers
2
# 8.4 修改 /etc/sudoers 文件
vim /etc/sudoers
##----------找到下面的代码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL #----这是给出的格式
zhuye ALL=(ALL) ALL #----添加自己的
2
3
4
5
6
7
8
9
10
11
12
13
%wheel这个是给出的模板,按照这个模板进行配置一个自己的,然后保存退出。
# 8.5 将 /etc/sudoers 权限修改回来
chmod u-w /etc/sudoers
# 8.6 验证
切换回一般用户,执行 sudo 之前不能使用的命令
su zhuye
sudo cat /etc/shadow
2
测试以及可以正常使用了
[zhuye@localhost ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
[sudo] zhuye 的密码:
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.njupt.edu.cn
* extras: mirrors.njupt.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本
软件包 device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.187-6.el7_9.4.x86_64 已安装并且是最新版本
无须任何处理
2
3
4
5
6
7
8
9
10
11
# 九、GitHub & Gitee & Git配置多账号
# 9.1 查看是否已配置全局账号
任意位置右键 ==> git bash here,执行下面命令
git config --global --list
若有,则会直接显示账号和邮箱。
接着取消全局设置,分别执行如下命令:
git config --global --unset user.name "用户名"
git config --global --unset user.email "邮箱"
2
3
# 9.2 重新生成 SSH 密钥
我这里使用的是 GitHub 和 Gitee 账号,因此生成密钥时为了加以区别,后缀采用 .github 和 .gitee
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "邮箱"
# 执行后,连续按3次回车键,设置为无密码的
ssh-keygen -t rsa -C "邮箱" -f ~/.ssh/id_rsa.gitee
2
3
4
其中 -f ~/.ssh/id_rsa.gitee 表示位置和名称,生成的文件位置:C:\Users\用户名\.ssh
# 9.3 识别 SSH key
默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent 中,分别执行命令如下:
#命令
$ ssh-agent bash
#命令2
$ ssh-add ~/.ssh/id_rsa.github
#命令3
$ ssh-add ~/.ssh/id_rsa.gitee
2
3
4
5
6
# 9.4 创建多账号 config 文件
创建 config 文件:
touch ~/.ssh/config
在创建的 config 文件中添加一下信息
#Default gitHub user Self
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.github
# gitee
Host gitee.com
Port 22
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa.gitee
#Add gitLab user
# Host git@gitlab.com
# HostName gitlab.com
# User git
# IdentityFile ~/.ssh/id_rsa.gitlab
# 其他自己搭建的
#Host git@git.startdt.net
# Port 22
# HostName http://git.startdt.net
# User git
# IdentityFile ~/.ssh/lab_rsa.startdt
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 9.5 添加 ssh 到远程库
将 id_rsa.github.pub 中的内容复制到 https://github.com/settings/keys (opens new window) 中。
将 id_rsa.gitee.pub 中的内容复制到 https://gitee.com/profile/sshkeys (opens new window) 中。
# 9.6 测试连接
输入如下命令测试:
ssh -T git@github.com
ssh -T git@gitee.com
2
3
输入命名回车后,再输入 yes 可以看到授权成功。
# e.coding.net 配置
设置全局账号
git config --global user.name "名称"
git config --global user.email "邮箱"
2
注意:由于我下载的 Git 是 2.36 以上版本的,RSA 算法被禁用了,因此需要进行配置其他算法。
参考:https://help.coding.net/docs/repo/faq.html#permission-denied (opens new window)
# 执行以下命令新建config文件
touch ~/.ssh/config
# 编辑这个文件
vim ~/.ssh/config
2
3
4
5
填入以下内容:
Host e.coding.net
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
# 或者以下配置
Host e.coding.net
HostName e.coding.net
User git
IdentityFile ~/.ssh/id_rsa.pub
2
3
4
5
6
7
8
9
按Esc,Shift+: 输入wq保存退出
接着生成 ssh-key
ssh-keygen -t ed25519 -C "邮箱"
# 连续点击enter键
2
3
将公钥放到远程仓库中
初次连接公钥认证
ssh -T git@e.coding.net
代码仓库管理教程:https://help.coding.net/docs/repo/intro.html (opens new window)
参考教程:https://zhuanlan.zhihu.com/p/62071906 (opens new window)
# 家里电脑配置与公司同一个账户
前提条件: 公司不需要内网,即在家里面通过外网能访问到公司的项目和仓库。
- 拉取公司仓库的代码
在拉取时需要输入远程仓库的账户和密码,公司用的是 e.coding 平台,所以需要该平台的邮箱和密码,然后才能正常拉取到代码。
- 本地idea打开项目
通过家里的idea打开拉取的项目,进行初始化配置。
- 针对该项目本地仓库配置用户名和邮箱
因为本地的git有配置全局的用户名和邮箱,若不对该项目进行设置的话,默认使用全局的用户名和邮箱。如何设置?在该项目根目录下打开git,执行以下命令设置:
# 设置项目级用户名
git config user.name "zy"
# 设置项目级邮箱
git config user.email "公司邮箱"
# 或用 --local 配置
git config --local user.name "用户名"
git config --local user.email "邮箱"
# 查看设置[包含所有配置]
git config --list
# 查看局部用户名
git config user.name
# 查看局部邮箱
git config user.email
# 查看全局用户名
git config --global user.name
# 查看全局邮箱
git config --global user.email
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24