1. 通過埠對映
我在阿里雲上面輸入上面的語句,然後就可以通過網域名稱+5000埠號訪問了
這樣無法通過網域名稱+埠號訪問 ,因為5001在docker裡面不能訪問
同樣因為5001在docker裡面不能訪問
可以訪問
up 50 seconds 5000/tcp, 0.0.0.0:5001->5001/tcp duankou3
up 5 minutes 0.0.0.0:5000->5000/tcp duankou
第乙個不可以通過埠訪問,第二個 可以
0.0.0.0:5001->5000/tcp 這樣可以通過5001訪問
2. 說明乙個docker容 器內部開放埠,可以對映到主機的不同埠上,前提是docker的埠是可以開放的
跑:docker run -p 3307:3306 --name dockermysql5.7 -v $pwd/conf:/etc/mysql/conf.d -v
$pwd/logs:/logs -v $pwd/data:/var/lib/mysql -e mysql_root_password=123456 -d mysql:5.7
埠對映情況 33060/tcp, 0.0.0.0:3307->3306/tcp dockermysql5.7
你需要的是把docker的埠對映到主機的埠上,一般都是3306對映3306,但是如果想用多個的話,就可以對映不同的埠
docker run -p 3307:3306 --name dockermysql5.7 -v $pwd/conf:/etc/mysql/conf.d -v $pwd/logs:/logs -v $pwd/data:/var/lib/mysql -e mysql_root_password=123456 -d mysql:5.7
把docker的3306埠對映到主機的3307上
3. 刪除已經建立的docker名稱docker container stop duankou2
docker container rm duankou2
4. docker安裝nginxdocker pull nginx
docker run -ti -d --name my-nginx -p 8081:80 nginx
剛才我們發現了只要把docker的乙個開放的埠對映到外部埠就能訪問,所有在阿里雲已經有nginx的條件下
我們還想測試nginx,我們就需要把docker的80埠對映到阿里雲的其中乙個埠8081上,然後通過網域名稱+8081就可以訪問nginx了
5. docker 安裝tomcat8.5
docker pull tomcat:8.5
rz 上傳war包
rz 上傳 service.xml 和 logback.xml
進入docker
docker exec -it dockertomcat8.5 bash
刪除原來的service.xml檔案在conf目錄下
rm -rf service.xml
從阿里雲當前資料夾移到docker裡面
docker cp logback.xml dockertomcat8.5:/usr/local/tomcat/bin/
docker cp service.xml dockertomcat8.5:/usr/local/tomcat/conf/
測試:啟動伺服器./startup.sh
發現可以在網頁開啟,繼續轉移war包
docker沒有vimapt update
apt install vim
docker 網路模式 和 埠對映
docker 自帶 3 種 網路模式 分別是bridge網路,host網路,none網路,可以使用 docker network ls 命令檢視。這種網路模式下容器只有lo回環網路,沒有其他網絡卡。none網路可以在容器建立時通過 network none 來指定。這種型別的網路沒有辦法聯網,封閉的...
docker 追加docker容器埠對映的方法
docker run可以指定埠對映,但是容器一旦生成,就沒有乙個命令可以直接修改。通常間接的辦法是,儲存映象,再建立乙個新的容器,在建立時指定新的埠對映。但這樣太麻煩了。現在有新方案來解決掉 操作步驟 1 檢視容器 docker ps a2 停止容器 docker stop f5033 停止dock...
Docker更改容器埠對映
一般情況下是不可以改變容器的埠對映的,只有通過run命令指定。如果想要不改變容器內容和配置的情況下更改埠對映只有先停止,然後將容器打包成映象,然後在執行新的映象的時候指定新的埠對映。先停止容器 docker stop containera 將容器commit成為乙個映象 docker commit ...