Docker的安裝linux
操做系統: Red Hat Enterprise Linux Server release 7.1web
軟件環境: 系統已經配置了yum安裝源docker
軟件版本: docker-1.5.0-28.el7.centos.x86_64.rpmapache
#使用root用戶bootstrap
su rootcentos
#檢查是否已安裝瀏覽器
[root@localhost ~]# rpm -qa | grep ncurses dockertomcat
沒有那個文件或目錄就進行如下安裝步驟:bash
# 進入安裝目錄服務器
cd /usr/local/
#不檢查密鑰方式安裝
yum -y install docker –nogpgcheck
#啓動
systemctl start docker
#是否運行
docker info
以上信息說明運行正常,安裝結束。
目的:基於最小的centos操做系統運行tomcat7服務器對外提供服務,這樣能夠最小化服務器資源佔用。
軟件:jdk-7u80-linux-x64.gz、apache-tomcat-7.0.61.tar.gz
操做過程
1. 獲取centos最新穩定版鏡像。
#查看全部鏡像
docker images
此時沒有任何鏡像文件。
#獲取最新鏡像
docker pull centos:latest
#再次查看全部鏡像(鏡像列表,注意看IMAGE ID 是否重複)
docker images
看到了3行信息,注意看IMAGE ID列,都是同樣的,說明是一個文件的不一樣TAG而已。接下來咱們使用這個鏡像製做咱們本身要使用的鏡像文件。
1. 啓動容器
容器是在鏡像的基礎上來運行的,一旦容器啓動了,咱們就能夠登陸到容器中,安裝本身所需的軟件或應用程序。既然鏡像已經下載到本地,那麼如何啓動容器呢?
啓動容器命令:docker run <相關參數> <鏡像 ID> <初始命令>
參數說明:
# -i:表示以「交互模式」運行容器
# -t:表示容器啓動後會進入其命令行
# -v:表示須要將本地哪一個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>
# 「/bin/bash」,表示什麼也不作,只進入命令行
例如:
#咱們通常狀況下是將軟件安裝到/usr/local/目錄中,所以將此目錄映射到docker裏面的mnt目錄,以便咱們安裝tomcat使用
docker run -i -t -v /usr/local/:/mnt fd44297e2ddb /bin/bash
執行後截圖:
此時已經進入到容器命令行交互模式中,進入mnt查看咱們須要的軟件。
由於我在宿主機裏面已經安裝好jdk七、tomcat7軟件,所以我只需將兩個文件夾拷貝到本容器的相對路徑便可。
執行拷貝:
[root@e83353741aa2 mnt]# cp -ri jdk7 /usr/local/
[root@e83353741aa2 mnt]# cp -ri tomcat7 /usr/local/
軟件安裝完成。
#退出容器 [root@e83353741aa2 mnt]# exit #查看運行的全部容器 [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e83353741aa2 fd44297e2ddb:latest "/bin/bash" 12 minutes ago Exited (130) 29 seconds ago happy_heisenberg #對正的ID號碼爲e83353741aa2的容器進行打鏡像包,命名爲navinfo.centos7.tomcat7 [root@localhost ~]# docker commit e83353741aa2 navinfo.centos7.tomcat7 ef03386171147f9553f3f296d965c7fe5c8d6521ada0b1f9969489e9f8342ab8
看到以上輸出,說明鏡像已經制做完成。
有了這個tomcat7鏡像咱們就要使用他來爲咱們提供web服務了。
#查看全部鏡像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE navinfo.centos7.tomcat7 latest ef0338617114 5 minutes ago 555.8 MB docker.io/centos centos7 fd44297e2ddb 3 weeks ago 215.7 MB docker.io/centos latest fd44297e2ddb 3 weeks ago 215.7 MB docker.io/centos 7 fd44297e2ddb 3 weeks ago 215.7 MB #上面黃色內容的是咱們建立的鏡像,咱們運行這個容器並啓動裏面的tomcat服務器
[root@localhost ~]# docker stop 87744f0a5201 |
中止正在運行的容器
刪除運行的全部容器
[root@localhost ~]# docker rm $(docker ps -a -q) |
咱們來從新運行tomcat7鏡像
#直接進入交互模式(-p 宿主機IP和PORT:容器PORT) [root@localhost ~]# docker run -it -p 10000:8080 navinfo.centos7.tomcat7 /bin/bash [root@84467414cafa /]# #啓動tomcat7 [root@84467414cafa /]# /usr/local/tomcat7/bin/startup.sh
瀏覽器訪問http://192.168.203.129:10000/ 截圖:
成功運行。
一個tomcat沒有知足咱們的應用需求,再運行一個tomcat,此時clone一個session窗口一樣運行上面的操做
[root@localhost ~]# docker run -it -p 10001:8080 navinfo.centos7.tomcat7 /bin/bash [root@08e8eda8196f /]# /usr/local/tomcat7/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat7 Using CATALINA_HOME: /usr/local/tomcat7 Using CATALINA_TMPDIR: /usr/local/tomcat7/temp Using JRE_HOME: /usr/local/jdk7/jre Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar Tomcat started. [root@08e8eda8196f /]#
訪問瀏覽器:http://192.168.203.129:10001/
此時已經同時運行了兩個tomcat。
到此演示結束。
運行的tomcat服務器列表:
http://192.168.203.129:10000/
http://192.168.203.129:10001/