docker中鏡像映射和端口映射的實(shí)現(xiàn)步驟
鏡像映射
鏡像映射 docker -v # 在宿主機(jī)上修改文件或增加文件 容器跟著變化 # 運(yùn)行出一個(gè) centos77 容器,不進(jìn)入, 做目錄映射 # 把宿主機(jī)的 /root/lqz文件夾 映射到 容器內(nèi)部的 /lqz文件夾(容器沒有會(huì)自動(dòng)創(chuàng)建) # -v可以寫多個(gè),可以是文件或文件夾 1 cd # 回家 前提是你是root用戶 2 mkdir lqz # 在root目錄下創(chuàng)建lqz文件夾 3 運(yùn)行容器,做目錄映射 '宿主機(jī)中/root/lqz文件夾跟 容器中 /lqz文件加做映射' docker run -id --name=centos77 -v /root/lqz:/lqz centos:centos7 4 在宿主機(jī)的 /root/lqz 下新建 xx.txt vim xx.txt 5 來到容器內(nèi)部:看這個(gè)文件在不在 cat xx.txt 6 他們是相互影響的: 容器內(nèi)部修改文件---》會(huì)影響外部 外部修改文件---》影響內(nèi)部 # 目錄映射好處是,后期咱們部署django項(xiàng)目 1 有個(gè)django容器,做好映射,代碼放在宿主機(jī)上即可,以后更新了代碼,只要重啟容器,代碼就是最新了 2 運(yùn)行mysql容器---》mysql配置文件,數(shù)據(jù)data目錄,放在宿主機(jī)上做好映射 如果 mysql容器---》表數(shù)據(jù),放到容器中---》如果刪了容器---》數(shù)據(jù)庫全沒了 表數(shù)據(jù),放在宿主機(jī)上---》把容器刪除---》表數(shù)據(jù)還在----》再啟動(dòng)一個(gè)容器做好映射---》數(shù)據(jù)都還在
端口映射 docker -p
# -p參數(shù):端口映射 容器中啟動(dòng)一個(gè)mysql5.7 --》容器中的3306監(jiān)聽,宿主機(jī)3306沒人監(jiān)聽,做端口映射后,宿主機(jī)的3306就被docker的這個(gè)容器監(jiān)聽了 '啟動(dòng)mysql容器 -p 宿主機(jī)端口:容器端口' # 以后臺(tái)守護(hù)進(jìn)程運(yùn)行mysql容器,mysql的root用戶密碼是123456,宿主機(jī)和容器做了端口映射 docker run -id --name=mysql5.7 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 '-e 參數(shù) 具體看官網(wǎng)mysql的參數(shù)介紹' # netstat -nlp |grep 3307 查看本機(jī)80端口占用情況 # 查看宿主機(jī) 3307端口占用情況 yum install net-tools -y netstat -nlp | grep 3307 # 被docker占了 # 以后訪問宿主機(jī)3307端口就等于訪問容器的3306端口 # win機(jī)器可以遠(yuǎn)程鏈接 mysql -命令行鏈接:mysql -h 10.0.0.110 -P 3307 -uroot -p -Navicate: 鏈接,創(chuàng)建lqz數(shù)據(jù)庫 -python: # 宿主機(jī)--》進(jìn)入到容器內(nèi)部--》進(jìn)入到mysql,查看有沒有創(chuàng)建lqz這個(gè)庫 docker exec -it mysql5.7 /bin/bash # 進(jìn)入容器內(nèi)部 # 登錄mysql用戶 mysql -uroot -p # 進(jìn)入mysql show databases; # 查看所有數(shù)據(jù)庫
MySQL部署和端口映射案例
# dokcer 中部署mysql,以后不需要在宿主機(jī)上裝mysql #1 假如沒有做目錄映射---》配置文件--》表數(shù)據(jù)都在容器中---》一旦刪除--》所有都沒了 # 2 做目錄(配置文件和數(shù)據(jù)文件)和端口映射 # 做目錄映射:data文件,配置文件 # 在宿主機(jī)創(chuàng)建文件夾 mkdir /mysql mkdir /mysql/conf.d mkdir /mysql/data/ # 進(jìn)入到配置文件修改配置 沒有文件會(huì)自動(dòng)創(chuàng)建 vim /mysql/my.cnf 或者 vi/mysql/my.cnf 因?yàn)闆]安裝vim # 文件內(nèi)容 """ [client] default-character-set=utf8 [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 """ 做好映射之后 執(zhí)行命令 docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 一條命令過長 可以用&& 分割 # 執(zhí)行上面這一句 相當(dāng)是映射了三個(gè)文件 同時(shí)還映射了端口和起密碼 -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 關(guān)閉容器,刪除容器,myslq的容器沒了,但是數(shù)據(jù)在宿主機(jī)上放著 docker stop mysql2 docker rm mysql2 # 再運(yùn)行起一個(gè)容器,做好目錄映射,數(shù)據(jù)都回來了 端口還可以修改 docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
到此這篇關(guān)于docker中鏡像映射和端口映射的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker 鏡像映射和端口映射內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)
這篇文章主要介紹了在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01docker-compose網(wǎng)絡(luò)配置-?IP?主機(jī)名?hosts配置方式
這篇文章主要介紹了docker-compose網(wǎng)絡(luò)配置-?IP?主機(jī)名?hosts配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細(xì)過程
FTP 基礎(chǔ)FTP 需要兩個(gè)端口,一個(gè)是數(shù)據(jù)端口,一個(gè)是控制端口,這篇文章主要介紹了使用Docker搭建Vsftpd的FTP服務(wù),需要的朋友可以參考下2022-08-08Docker學(xué)習(xí)之?dāng)?shù)據(jù)卷和Dockerfile詳解
在容器化應(yīng)用的開發(fā)和部署過程中,數(shù)據(jù)的持久化和共享是一個(gè)重要的問題,下面這篇文章主要給大家介紹了關(guān)于Docker學(xué)習(xí)之?dāng)?shù)據(jù)卷和Dockerfile的相關(guān)資料,需要的朋友可以參考下2024-04-04docker部署nginx訪問宿主機(jī)服務(wù)并使用緩存的操作方法
這篇文章主要介紹了docker部署nginx訪問宿主機(jī)服務(wù)并使用緩存的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,感興趣的朋友一起看看吧2024-04-04docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令
這篇文章主要為大家介紹了docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04