網(wǎng)站策劃怎么做內(nèi)容環(huán)球軍事網(wǎng)
Docker
引用Docker原因是在linux中安裝軟件
以前在linux中安裝軟件,是直接安裝在linux操作系統(tǒng)上,軟件和操作系統(tǒng)耦合度很高,不方便管理,因為linux版本不同,環(huán)境也就改變了
docker是一種容器技術,提供標準的應用鏡像(包含應用+應用的依賴),這樣我們就可以非常輕松的在docker中安裝應用。每一個應用安裝好后,就是一個獨立的容器。
總結:docker解決了軟件環(huán)境遷移問題
主要功能:
1.打包:可以把軟件以及軟件的依賴打包制作成一個鏡像(例如后面吧springboot和jdk)
2.分發(fā):你可以把你打包好的“安裝包”上傳到鏡像倉庫,其他人也可以很方便的獲取和安裝
3.部署:拿著"安裝包"就可以一個命令運行起來你的應用,自動模擬出一模一樣的運行環(huán)境,不管是在Windows/Mac/Linux
主要概念:
倉庫(Repository):是docker提供的一個用來保存鏡像的倉庫
鏡像(Image):鏡像就是一個可執(zhí)行的包,用來創(chuàng)建容器,docker中每一個軟件就是一個鏡像(包含應用+應用的依賴)
容器(Container):容器就是鏡像運行時的實體。容器可以被創(chuàng)建,啟動,停止,刪除,暫停等。
Docker安裝:
1.安裝yum配置工具:
yum install -y yum-utils
2.配置docker的yum源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安裝:
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.啟動常用命令
docker安裝成功后并沒有啟動,
啟動命令
systemctl start docker
關閉命令
systemctl stop docker
設置開機自動啟動
systemctl enable docker
5.測試docker版本:
docker -v
Docker卸載:
1.停止服務
systemctl stop docker
2.卸載
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
3.刪除文件
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
Docker配置:
配置鏡像加速
1.在etc下創(chuàng)建docker目錄
mkdir -p /etc/docker
2.進入docker目錄
cd /etc/docker
3.創(chuàng)建daemon.json文件
touch daemon.json
4.修改文件
vim daemon.json
{
"registry-mirrors": ["https://dockerhub.icu"]
}
5.重載配置
systemctl daemon-reload
6.重啟
systemctl restart docker
Docker服務命令:
1.Docker鏡像命令
查看鏡像列表:
docker images
從docker倉庫拉去鏡像到本地倉庫:
docker pull mysql:8.0
刪除本地鏡像:
docker rmi mysql:8.0
從dockerfile構建鏡像:
docker build
保存鏡像到本地,生成tar文件(tar是linux中的壓縮文件格式)
docker save > mysql.tar
載入本地鏡像:
docker load < mysql.tardocker load -i <鏡像文件>.tar
'-i’選項表示輸入文件,這樣 Docker 知道從哪里讀取鏡像數(shù)據(jù)。如果不加'-ì',默認是從標準輸入讀取數(shù)據(jù),因此需要加上'-ì
和文件名來指定鏡像文件。
推送鏡像到服務器(目前用不到):
docker push
Docker容器命令
1.創(chuàng)建一個新的容器并運行:
docker run 鏡像名
2.查看
docker ps -a
3.啟動容器
docker start mysql
4.停止mysql
docker stop mysql
5.刪除容器(卸載軟件)
docker rm mysql
6.查看容器日志
docker logs mysql
安裝Mysql
1.下載mysql鏡像
在線下載:
docker pull mysql:8.0
加載本地鏡像
docker load < mysql.tardocker load -i <鏡像文件>.tar
2.安裝
docker run -d -p 3306:3306 \
//-p:指定端口映射 3306:3306端口號映射 -d:讓容器后臺運行
--name mysql \ //指定容器名稱
--restart=always \ //自動啟動
--privileged=true \ //擁有特權
-e TZ=Asia/Shanghai \ //時區(qū)
-e MYSQL_ROOT_PASSWORD=root\ //密碼
mysql:8.0 //鏡像
3.進入到容器
docker exec -it 容器名/容器id bash
4.登錄mysql
mysql -uroot -proot
5.修改root賬號加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'
6.退出
exit
7.進入mysql把sql備份,然后新建一個連接,連接到虛擬機,在新的連接中打開備份的數(shù)據(jù)庫
鏡像和容器
鏡像(Image):Docker將應用程序及其所需的依賴、函數(shù)庫、環(huán)境、配置等文件打包在一起,稱為鏡像。
容器(Container):鏡像中的應用程序運行后形成的進程就是容器,只是Docker會給容器做隔離,對 外不可見。
數(shù)據(jù)卷掛載
數(shù)據(jù)卷是一個虛擬目錄,是容器內(nèi)目錄與宿主機目錄之間映射的橋梁。 它將宿主機目錄映射到容器內(nèi)目錄,方便我們操作容器內(nèi)文件,或者方便遷移容器產(chǎn)生的數(shù)據(jù)。 在執(zhí)行docker run命令時,使用-v數(shù)據(jù)卷:容器內(nèi)目錄可以完成數(shù)據(jù)卷掛載。
創(chuàng)建mysql數(shù)據(jù)卷
mkdir -p /opt/mysql/data
安裝
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \ //數(shù)據(jù)卷映射
mysql:8.0
安裝后續(xù)可看上述mysql安裝步驟
Docker安裝nginx
Nginx是一款是由俄羅斯的程序設計師所開發(fā)高性能的 Web服務器(只能運行前端項目,不能運行 java項目)。
其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務器中表現(xiàn)較好, 中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等等。
Nginx專為性能優(yōu)化而開發(fā),性能是服務器最重要的考量,實現(xiàn)上非常注重效率,能經(jīng)受高負載的 考驗,據(jù)報告能支持高達50,000個并發(fā)連接數(shù)。
拉取鏡像:
docker pull nginx:1.24
創(chuàng)建數(shù)據(jù)卷:
mkdir -p /opt/nginx/html
安裝命令:
docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24
訪問:
自己的ip:80
其中 -v /opt/nginx/html 就是與容器中對應的一個在宿主機中的數(shù)據(jù)卷 我們只需要將文件部署到宿主機的/opt/nginx/html目錄下即可