docker 環境 CentOS 8.1
拉取鏡像
docker pull tomcat:jdk8-openjdk
docker pull tomcat:8.5.55-jdk8-openjdk
查看鏡像
docker images
顯示正在運行的容器:
[root@localhost HMK]# docker ps
顯示所有容器,包括未運行的:
[root@localhost HMK]# docker ps -a
運行鏡像
docker run -d --name tomcat_test -p 8088:8080 7254ff7719c0
docker run -d --name tomcat_test -v /etc/localtime:/etc/localtime -p 2080:8080 tomcat:latest
docker run -d --name tomcat_contract -p 8088:8080 -v /home/tomcat_contract/conf:/usr/local/tomcat/conf -v /home/tomcat_contract/webapps:/usr/local/tomcat/webapps -v /home/tomcat_contract/logs/:/usr/local/tomcat/logs -v /home/tomcat_contract/logsRoot/:/usr/local/tomcat/logsRoot 7254ff7719c0
–name 容器名稱
-p 8088:8080 8088 是宿主機端口 8080是tomcat容器端口 8080映射到2080
tomcat:latest 鏡像名稱及版本
-v /etc/localtime:/etc/localtime 容器使用宿主機時間、時區
-v 掛載目錄 /home/tomcat/conf 宿主機的配置目錄,/usr/local/tomcat/conf 容器的目錄
:前面是宿主機的目錄,后面是容器里面的目錄
-d:表示指定容器后台運行
8e4c7e070ba2 鏡像id
進入容器
docker exec -it f8ca37b5df5d /bin/bash
當前目錄還是在tomcat鏡像生成的容器目錄下,可以使用:ctrl+p+q不退出容器的方式返回到宿主機目錄下
出容器
ctrl+p+q
使用:ctrl+p+q不退出容器的方式返回到宿主機目錄下
重啟容器
docker restart 容器ID
docker restart 31290cf1cc00
停止容器
docker stop 容器id
docker stop 31290cf1cc00
啟動一個已經停止的容器實例
docker start 容器名稱 或者 容器id tomcat_contract
docker start 31290cf1cc00
刪除容器
可使用 -f 參數強制刪除容器
docker rm 31290cf1cc00
查看所有的容器
docker ps -a
查看運行中的容器
docker ps
liunx 命令
重命名文件夾
mv webapps webapps2
mv webapps.dist/ webapps
使用docker commit命令將修改后的容器生成新的鏡像
docker commit命令詳解:
作用:將運行着的容器映射成新的鏡像
格式: docker commit -a='作者-這個隨意寫' -m='‘修改內容--隨意寫' 容器名稱或者ID 新生成鏡像的名稱
例子:
docker commit -a='lzhang2019' -m='修改主頁404錯誤' e8a903b0d543 tomcat-8.5.55-jdk8-openjdk-dev:v0.1
導出images
保存鏡像
docker save 命令 將鏡像保存成一個文件。
docker save -o tomcat-8.5.55-jdk8-openjdk-dev-v0.1.tar tomcat-8.5.55-jdk8-openjdk-dev:v0.1
-o 輸出文件名稱
tomcat-8.5.55-jdk8-openjdk-dev:v0.1 鏡像的名稱和tag
2)我們還可以同時將多個 image 打包成一個文件,比如下面將鏡像庫中的 postgres 和 mongo 打包:
docker save -o images.tar postgres:9.6 mongo:3.4
載入鏡像
使用 docker load 命令則可將這個鏡像文件載入進來。
docker load < hangge_server.tar
從容器拷貝文件到宿主機
docker cp 容器名:容器中要拷貝的文件名及其路徑 要拷貝到宿主機里面對應的路徑
拷貝容器中 tomcat的conf目錄 到 宿主機 的 home/tomcat 目錄下
docker cp 827e39c506b1:/usr/local/tomcat/conf /home/tomcat_contract/
拷貝容器中 tomcat的webapps目錄 到 宿主機 的 home/tomcat 目錄下
docker cp 827e39c506b1:/usr/local/tomcat/webapps /home/tomcat_contract/
刪除images
使用 docker load 命令則可將這個鏡像文件載入進來。
docker rmi 6e07337dc2a2
錯誤問題:
1、Docker方式啟動tomcat,訪問首頁出現404錯誤