docker中鏡像映射和端口映射的實現(xiàn)步驟
更新時間:2024年11月24日 10:19:06 作者:Lsc`
本文介紹了在Docker中進行鏡像映射和端口映射,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
鏡像映射
鏡像映射 docker -v # 在宿主機上修改文件或增加文件 容器跟著變化 # 運行出一個 centos77 容器,不進入, 做目錄映射 # 把宿主機的 /root/lqz文件夾 映射到 容器內部的 /lqz文件夾(容器沒有會自動創(chuàng)建) # -v可以寫多個,可以是文件或文件夾 1 cd # 回家 前提是你是root用戶 2 mkdir lqz # 在root目錄下創(chuàng)建lqz文件夾 3 運行容器,做目錄映射 '宿主機中/root/lqz文件夾跟 容器中 /lqz文件加做映射' docker run -id --name=centos77 -v /root/lqz:/lqz centos:centos7 4 在宿主機的 /root/lqz 下新建 xx.txt vim xx.txt 5 來到容器內部:看這個文件在不在 cat xx.txt 6 他們是相互影響的: 容器內部修改文件---》會影響外部 外部修改文件---》影響內部 # 目錄映射好處是,后期咱們部署django項目 1 有個django容器,做好映射,代碼放在宿主機上即可,以后更新了代碼,只要重啟容器,代碼就是最新了 2 運行mysql容器---》mysql配置文件,數(shù)據(jù)data目錄,放在宿主機上做好映射 如果 mysql容器---》表數(shù)據(jù),放到容器中---》如果刪了容器---》數(shù)據(jù)庫全沒了 表數(shù)據(jù),放在宿主機上---》把容器刪除---》表數(shù)據(jù)還在----》再啟動一個容器做好映射---》數(shù)據(jù)都還在
端口映射 docker -p
# -p參數(shù):端口映射 容器中啟動一個mysql5.7 --》容器中的3306監(jiān)聽,宿主機3306沒人監(jiān)聽,做端口映射后,宿主機的3306就被docker的這個容器監(jiān)聽了 '啟動mysql容器 -p 宿主機端口:容器端口' # 以后臺守護進程運行mysql容器,mysql的root用戶密碼是123456,宿主機和容器做了端口映射 docker run -id --name=mysql5.7 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 '-e 參數(shù) 具體看官網mysql的參數(shù)介紹' # netstat -nlp |grep 3307 查看本機80端口占用情況 # 查看宿主機 3307端口占用情況 yum install net-tools -y netstat -nlp | grep 3307 # 被docker占了 # 以后訪問宿主機3307端口就等于訪問容器的3306端口 # win機器可以遠程鏈接 mysql -命令行鏈接:mysql -h 10.0.0.110 -P 3307 -uroot -p -Navicate: 鏈接,創(chuàng)建lqz數(shù)據(jù)庫 -python: # 宿主機--》進入到容器內部--》進入到mysql,查看有沒有創(chuàng)建lqz這個庫 docker exec -it mysql5.7 /bin/bash # 進入容器內部 # 登錄mysql用戶 mysql -uroot -p # 進入mysql show databases; # 查看所有數(shù)據(jù)庫
MySQL部署和端口映射案例
# dokcer 中部署mysql,以后不需要在宿主機上裝mysql #1 假如沒有做目錄映射---》配置文件--》表數(shù)據(jù)都在容器中---》一旦刪除--》所有都沒了 # 2 做目錄(配置文件和數(shù)據(jù)文件)和端口映射 # 做目錄映射:data文件,配置文件 # 在宿主機創(chuàng)建文件夾 mkdir /mysql mkdir /mysql/conf.d mkdir /mysql/data/ # 進入到配置文件修改配置 沒有文件會自動創(chuàng)建 vim /mysql/my.cnf 或者 vi/mysql/my.cnf 因為沒安裝vim # 文件內容 """ [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í)行上面這一句 相當是映射了三個文件 同時還映射了端口和起密碼 -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 # 關閉容器,刪除容器,myslq的容器沒了,但是數(shù)據(jù)在宿主機上放著 docker stop mysql2 docker rm mysql2 # 再運行起一個容器,做好目錄映射,數(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
到此這篇關于docker中鏡像映射和端口映射的實現(xiàn)步驟的文章就介紹到這了,更多相關docker 鏡像映射和端口映射內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker-compose網絡配置-?IP?主機名?hosts配置方式
這篇文章主要介紹了docker-compose網絡配置-?IP?主機名?hosts配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01使用Docker搭建Vsftpd 的 FTP 服務的詳細過程
FTP 基礎FTP 需要兩個端口,一個是數(shù)據(jù)端口,一個是控制端口,這篇文章主要介紹了使用Docker搭建Vsftpd的FTP服務,需要的朋友可以參考下2022-08-08Docker學習之數(shù)據(jù)卷和Dockerfile詳解
在容器化應用的開發(fā)和部署過程中,數(shù)據(jù)的持久化和共享是一個重要的問題,下面這篇文章主要給大家介紹了關于Docker學習之數(shù)據(jù)卷和Dockerfile的相關資料,需要的朋友可以參考下2024-04-04docker部署nginx訪問宿主機服務并使用緩存的操作方法
這篇文章主要介紹了docker部署nginx訪問宿主機服務并使用緩存的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,感興趣的朋友一起看看吧2024-04-04