一、 網絡配置
1、 進入配置文件目錄
cd /etc/sysconfig/network-scripts/ vi ifcfg-ens33 |
2、 修改文件內容
ONBOOT=yes |
3、 重啟網絡服務
service network restart |
二、 防火牆設置
//查看防火牆狀態 systemctl status firewalld //關閉防火牆 systemctl stop firewalld //永久關閉防火牆 systemctl disable firewalld //重新啟動防火牆 systemctl enable firewalld |
三、 配置虛擬網卡的IP地址
盡量和本機的IP地址前三段保持一致
四、 安裝Docker
Docker的網站:Docker hub(里面包含各種軟件的鏡像)
Docker ce免費的社區版
Docker ee收費的企業版
注意:docker的每一個容器其實就是一個小型完整的linux系統(包含完整的linux環境)
1、 安裝前的准備
(1)、安裝常用軟件(讓下載的速度更快)
//安裝迅雷 yum -y install weget //安裝vim yum -y install vim* |
(2)、更新yum源為阿里雲
// 1. 備份:(把老的yum源備份,防止出錯) mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
// 2. 下載新的CentOS-Base.repo 到/etc/yum.repos.d/(CentOS7) |
2、 安裝步驟
Docker的官方文檔地址:
https://www.docker.com/products/docker-engine
官方安裝文檔:
https://docs.docker.com/install/linux/docker-ce/centos/
檢查內核版本,返回的值大於3.10即可
uname -r |
如果內核版本過低,需要更新系統
yum update |
- 卸載老的Docker(如果第一次安裝則不需要)
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine |
- 安裝docker必需的包(需要聯網)
//下載包管理器(安裝依賴的包) $ sudo yum install -y yum-utils (device-mapper-persistent-data 1vm2 ) //告訴包管理器docker的地址在哪(已經安裝docker的不需要安裝) //告訴linux docker在哪里安裝 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo |
- 查看docker的版本
$ yum list docker-ce --showduplicates | sort -r |
- 安裝選中的docker版本(選擇帶centos,下載速度很慢)
yum -y install docker-ce-上面復制的版本 |
- 如果下載太慢可以把它更換為阿里雲的下載地址
Ctrl c 中斷更新進程
如果在這一步,改變yum源,則需要重新告訴包管理器docker的地址在哪
- 啟動Docker
sudo systemctl start docker |
- 查看Docker的版本
docker -v |
- 設置開機自啟動
sudo systemctl enable docker |
- 查看用docker要下載的軟件的所有版本
docker search 軟件名 |
- 查看當前Docker中有沒有下載鏡像
sudo docker images |
- 刪除容器
docker rm 容器id |
- 刪除鏡像
docker rmi 鏡像id |
- 設置軟件開機自啟動(如:mysql、redis等)
docker update mysql --restart-always |
- 配置阿里雲鏡像加速
(1) 登錄阿里雲賬號- >控制台- >左側菜單- >產品與服務- >容器鏡像服務- >CentOS
(2)
五、 Docker安裝MySQL
- docker pull mysql:下載的是最新的MySQL
- docker pull mysql:5.7 :下載指定版本的MySQL
- sudo docker pull mysql:5.7 :以管理員身份下載MySQL
- sudo docker images :檢查docker中下載的鏡像
- 創建實例並啟動
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
說明:--name mysql:為容器起名為mysql -v :全是目錄掛載 -v /mydata/mysql/log:/var/log/mysql \: 是把容器的/var/log/mysql目錄掛載到linux系統的/mydata/mysql/log目錄下
注意:下載8.0以上版本的鏡像無法啟動(目前沒有解決)
|
- 直接啟動mysql容器?
- 添加容器后無法啟動
問題:
CentOS7及以上版本中的安全模塊selinux把權限禁掉了,無法使用-v命令進行掛載
解決方法:添加selinux規則,將要掛載的目錄添加到白名單
chcon -Rt svirt_sandbox_file_t /mydata/mysql/log chcon -Rt svirt_sandbox_file_t /mydata/mysql/data chcon -Rt svirt_sandbox_file_t /mydata/mysql/conf |
- 查看所有正在運行的容器
docker ps |
- 查看所有的容器
docker ps -a |
- 進入mysql容器內部(每個容器的內部都有完整的環境)
docker exec -it mysql/id值 /bin/bash |
- 檢查與MySQL相關的文件夾(需進入mysql容器內部使用該命令)
whereis mysql |
- 退出容器
exit |
- 在linux主機添加mysql配置文件
//進入到配置文件(實際上沒有,直接創建) vi /mydata/mysql/conf/my.cnf
//配置內容(主要是修改mysql的字符編碼,因為mysql默認是拉丁的編碼) [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve |
- 重啟mysql
docker restart mysql |
- 進入mysql內部(查看有沒有映射到mysql容器內部的配置文件)
// /bin/bash: 是進入控制台 docker exec -it mysql /bin/bash |
- 查看是否修改
cat /etc/mysql/my.cnf |
六、 Docker安裝Redis
- 下載鏡像文件
docke pull redis :下載最新版本
docker pull redis:版本號 :下載指定版本
- 創建實例並啟動
mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf (創建redis.conf配置文件)
//把docker容器中的端口號映射到linux虛擬機的端口號6379 docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf
注意:上面的代碼沒問題但是無法運行,所以盡量把代碼用其他的編輯器
說明: -d redis redis-server /etc/redis/redis.conf :含義是redis啟動時候以/etc/redis/redis.conf為啟動文件(redis掛載到linux主機中沒有該文件,需要事先創建) |
- 檢查是否安裝成功
docker ps |
- 測試redis
docker exec -it redis redis-cli |
退出redis客戶端 :exit
- 重啟redis(無法獲取到a和b的值了,因為數據存在內存中,重啟后清空)
docker restart redis |
- 持久化redis
由於redis默認是不持久化的,所有數據存在緩存中。(感覺將的不對,默認是rdb 方式,也是持久化的一種)
持久化:
然后在配置文件中添加:
appendonly yes |
- 重啟redis
docker restart redis |
- 在進行和上面的一樣測試,看看有沒有持久化
- 安裝redis的可視化界面(redis desktop manager)
七、 開發環境的配置
1、 安裝jdk
2、 安裝Tomcat(如果打包成jar包是不需要配置的,springboot中自 帶,但是如果打包成war包,則需要在服務器上安裝配置Tomcat, 所以需要事先在pom文件中配置打包的形式)
3、 安裝maven
(1)、Window下安裝mave:
(2)、 linux下安裝maven
4、 安裝nginx
5、 安裝git
6、 安裝配置中心/注冊中心nacos