做家教一般在哪個(gè)網(wǎng)站企業(yè)網(wǎng)站制作費(fèi)用
Docker安裝教程
Docker安裝教程
1、Docker介紹
Docker是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者將應(yīng)用程序及其依賴項(xiàng)打包成一個(gè)輕量級(jí)、可移植的容器,然后發(fā)布到任何支持 Docker 的環(huán)境中運(yùn)行,無論是開發(fā)機(jī)、測(cè)試機(jī)還是生產(chǎn)環(huán)境。
Docker基于沙箱技術(shù),每個(gè)容器都有自己的獨(dú)立運(yùn)行環(huán)境,包括操作系統(tǒng)、庫(kù)文件、配置等,實(shí)現(xiàn)了資源隔離和輕量級(jí)遷移。
2、Docker三要素
- 鏡像(image):鏡像就是一個(gè)只讀的模板,包含了運(yùn)行容器所需的文件系統(tǒng)、配置參數(shù)、庫(kù)和運(yùn)行時(shí)環(huán)境等。
- 容器(container):容器是代碼的隔離環(huán)境,可以理解為一臺(tái)獨(dú)立的服務(wù)器
- 倉(cāng)庫(kù)(repository):倉(cāng)庫(kù)中存儲(chǔ)了一堆鏡像,可以拉取或向其推送鏡像
3、Docker常用命令
一:docker本身相關(guān)命令
- 啟動(dòng) docker
systemctl start docker
- 關(guān)閉 docker
systemctl stop docker
- 重新啟動(dòng) docker
systemctl restart docker
- 查看 docker 運(yùn)行狀態(tài)
systemctl status docker
- 查看 docker 版本
docker -v
二:鏡像(image)
1.鏡像的查看、搜索、拉取、刪除
- 列出本地所有鏡像【查看】
docker images
結(jié)果展示:REPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 605c77e624dd 2 years ago 141MBmysql latest 3218b38490ce 2 years ago 516MB...
- 搜索鏡像
docker search 鏡像名 # 搜索與【鏡像名】匹配的鏡像
如:docker search nginx
- 拉取鏡像
docker pull 鏡像名:版本號(hào)
如:docker pull nginx # 不寫版本默認(rèn)為最新版
- 刪除鏡像
docker rmi 鏡像名
如:docker rmi nginx # 刪除 ngnix 鏡像
2.移植鏡像
- 保存鏡像
docker save -o nginx.tar nginx #將鏡像nginx導(dǎo)出,形成本地文件nginx.tar.tar
注意:移植到其他服務(wù)器記得給tar包加上可讀權(quán)限
- 加載鏡像
docker load -i nginx.tar #將鏡像nginx從本地文件nginx.tar中加載出來
三:容器(container)
1.容器的查看、創(chuàng)建、啟動(dòng)、關(guān)閉、重啟、刪除
- 查看容器
docker ps # 查看已安裝并正在運(yùn)行的容器
docker ps -a # 查看所有容器
- 創(chuàng)建容器并運(yùn)行
docker run 配置 別名
常用配置:--name=NAME # 為容器指定名字為NAME,不使用的話系統(tǒng)自動(dòng)為容器命名【容器名】--restart=always # 容器退出后自動(dòng)重新啟動(dòng),保證容器服務(wù)的可靠性和持續(xù)可用性。--privileged=true # 授予容器內(nèi)進(jìn)程訪問宿主機(jī)上所有設(shè)備的權(quán)限-p 容器端口號(hào):主機(jī)端口號(hào) # 指定端口映射-v 文件夾:文件夾 # 目錄的映射【docker容器與虛擬機(jī)共享同一個(gè)目錄】-d IMAGE_ID # 后臺(tái)運(yùn)行容器并返回容器ID,即啟動(dòng)守護(hù)式容器(后臺(tái)運(yùn)行)# 創(chuàng)建并允許 Nginx 容器
docker run --name nginx -p 80:80 -d 605c77e624dd nginx
- 啟動(dòng)容器
docker start 容器名
如:docker start nginx
- 關(guān)閉容器
docker stop 容器名
如:docker stop nginx
- 重啟容器
docker restart 容器名
如:docker restart nginx
- 刪除容器
docker rm 容器名
如:docker rm nginx
2.查看容器日志
docker logs 容器名
如:docker logs ngnix
3.容器重命名
docker rename 原來的容器名 新的容器名
4.進(jìn)入與退出指定容器
# 進(jìn)入指定容器
docker exec -it 【IMAGE_ID|容器名】 /bin/bash
如:docker exec -it 3218b38490ce /bin/bash 【進(jìn)入mysql】# 退出容器【從容器回到虛擬機(jī)】
exit
4、Docker的實(shí)際演示
一:mysql安裝
docker search mysql # 找到合適的mysql鏡像
docker pull mysql # 下載鏡像(默認(rèn)最新版本)# 安裝mysql容器并運(yùn)行
docker run \--name mysql8 \ --restart=always \--privileged=true \-e MYSQL_ROOT_PASSWORD='123456' \-p 3306:3306 \-v /opt/software/mysql_docker_3308:/mysql_share \-d 3218b38490cedocker ps # 查看已安裝并正在運(yùn)行容器
docker exec -it mysql8 /bin/bash # 進(jìn)入mysql容器
exit # 退出mysql容器
主要參數(shù)講解:
--name mysql8
:給容器取名為mysql8
--restart=always
:每當(dāng)docker啟動(dòng)時(shí)總能啟動(dòng)mysql8容器
-e MYSQL_ROOT_PASSWORD
:mysql密碼
-p 3308:3306
:映射容器的3306端口到宿主機(jī)的3308端口,外部主機(jī)可以直接通過宿主機(jī)ip:3308
訪問到容器的mysql8服務(wù)。
-d 3218b38490ce
:后臺(tái)模式下運(yùn)行指定容器【-d 鏡像ID】
Docker中的Mysql與外網(wǎng)連接測(cè)試:
二:Redis安裝
docker search redis # 找到合適的redis鏡像
docker pull redis # 下載redis鏡像(默認(rèn)最新版本)# 安裝redis容器并運(yùn)行
docker run \--name Redis \--restart=always \--privileged=true \-e MY_REDIS_PASSWORD='123456' \-p 6379:6379 \-d 7614ae9453d1docker ps # 查看正在運(yùn)行的容器
docker exec -it mysql8 /bin/bash # 進(jìn)入redis容器
exit # 退出redis容器
主要參數(shù)講解:
--name Redis
:給容器取名為Redis
--restart=always
:每當(dāng)docker啟動(dòng)時(shí)總能啟動(dòng)Redis容器
-e MY_REDIS_PASSWORD
:設(shè)置Redis的訪問密碼為123456
-p 6379:6379
:映射容器的6379端口到宿主機(jī)的6379端口,外部主機(jī)可以直接通過宿主機(jī)ip:6379
訪問到容器的Redis服務(wù)。
-d 7614ae9453d1
:后臺(tái)模式下運(yùn)行指定容器【-d 鏡像ID】