您好,登錄后才能下訂單哦!
如何構建Docker容器,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Nginx是一款輕量級的WEB服務器,也是一 款優秀 的反向代理服務器. Nginx 服務占用內存少,并發能力強,深受國內外用戶的歡迎。下面使用Dockerfile文件的方式來創建帶有Nginx服務的Docker鏡像。
1.下載基礎鏡像
下載一個創建Nginx鏡像的基礎鏡像centos鏡像:
[root@localhost media]# systemctl start docker [root@localhost media]# docker load < centos
2.建立工作目錄
創建工作目錄
[root@localhost /]# mkdir nginx [root@localhost /]# cd nginx
3.創建并編寫Dockerfile文件
[root@localhost nginx]# vim Dockerfile FROM centos \\設置基礎鏡像 MAINTAINER the contos projec \\維護該鏡像用戶信息 RUN yum install -y wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel \\安裝相關依賴包 RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz RUN tar zxf nginx-1.9.7.tar.gz \\下載并解壓源碼包 WORKDIR nginx-1.9.7 RUN ./configure --prefix=/usr/local/nginx && make && make install \\編譯安裝Nginx EXPOSE 80 EXPOSE 443 \\開啟80和443端口 RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf \\復制服務啟動腳本并設置權限 WORKDIR /root/nginx ADD run.sh /run.sh RUN chmod 755 /run.sh CMD ["/run.sh"] \\啟動容器時執行腳本
4.編寫執行腳本內容
[root@localhost nginx]# vim run.sh #!/bin/bash /usr/local/nginx/sbin/nginx
5.生成鏡像
[root@localhost nginx]# docker build -t nginx:xws . \后面有個點,千萬不要忘記
6.啟動容器進行測試
[root@localhost nginx]# docker run -d -P nginx:xws \\-P為映射隨機端口 4794d0f564c93f09827d33f70be21f3893733648a56e4d3985f82611efb2aa0b
可以看到端口映射為32769
[root@localhost nginx]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4794d0f564c9 nginx:xws "/run.sh" 13 minutes ago Up 13 minutes 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp optimistic_goldberg
驗證
Tomcat是一個免費開源的輕量級Web服務器,在中小型企業和并發訪問量不高的場合普遍使用,是開發和調試JSP程序的首選。下面使用Dockerfile文件的方式來創建帶有Tomcat服務的Docker鏡像。
1.創建工作目錄
[root@localhost /]# mkdir tomcat [root@localhost /]# cd tomcat/ [root@localhost tomcat]# cp /media/jdk-8u91-linux-x64.tar.gz . [root@localhost tomcat]# ls jdk-8u91-linux-x64.tar.gz
2.創建Dockerfile文件
[root@localhost tomcat]# vim Dockerfile FROM centos \\基礎鏡像 MAINTAINER the centos project \\維護該鏡像用戶信息 ADD jdk1.8.0_91 /usr/local/jdk-8u91 \\設置jdk環境變量 ENV JAVA_HOME /usr/local/jdk-8u91 ENV JAVA_BIN /usr/local/jdk-8u91/bin ENV JAVA_HOME /usr/local/jdk-8u91/jre ENV PATH $PATH:/usr/local/jdk-8u91/bin:/usr/local/jdk-8u91/jre/bin ENV CLASSPATH /usr/local/jdk-8u91/jre/bin:/usr/local/jdk-8u91/lib:/usr/local/jdk-8u91/jre/lib/charsets.jar RUN yum install -y wget \\安裝wget工具 RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.49.tar.gz RUN tar zxf apache-tomcat-8.5.49.tar.gz RUN mv apache-tomcat-8.5.49 /usr/local/tomcat EXPOSE 8080 ADD run.sh /run.sh \\啟動容器時添加并執行腳本 RUN chmod 775 /run.sh CMD ["/run.sh"]
3.編寫執行腳本內容
[root@localhost tomcat]# vim run.sh #!/bin/bash /usr/local/tomcat/bin/startup.sh tailf /run
4.用Dockerfile生成鏡像
[root@localhost tomcat]# docker build -t tomcat:aaa .
\后面的點不能少
5.運行容器并驗證
[root@localhost tomcat]# docker run -d --name asd -p 80:8080 tomcat:aaa
MySQL是當下最流行的關系型數據庫,所使用的SQL語言是用于訪問數據庫的最常用標準化語言,MySQL具有體積小、速度快.成本低的優勢,成為中小型企業首選的數據庫。下面使用Dockerfile文件的方式來創建帶有MySQL服務的Docker鏡像。
1.下載基礎鏡像并創建工作目錄
下載鏡像命令用:docker pull docker.io
[root@localhost /]# cd /media/ [root@localhost media]# ls centos centos6 jdk-8u91-linux-x64.tar.gz [root@localhost media]# docker load < centos6 5d574ede99e4: Loading layer 202 MB/202 MB b077477046f8: Loading layer 35.54 MB/35.54 MB b244861945e8: Loading layer 2.048 kB/2.048 kB Loaded image: docker.io/guyton/centos6:latest [root@localhost media]# mkdir /mysql [root@localhost media]# cd /mysql/ [root@localhost mysql]#
2.創建Dockerfile文件
[root@localhost mysql]# vi Dockerfile FROM guyton/centos6 \\設置基礎鏡像 MAINTAINER the centos6 維護鏡像的用戶信息 RUN yum install -y mysql mysql-server RUN /etc/init.d/mysqld start && \ \\開啟MySQL服務進行授權 mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456';" && \ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';" EXPOSE 3306 \\開啟3306端口 CMD ["mysqld_safe"] \\運行初始化腳本mysql_safe
3.用Dockerfile生成鏡像
[root@localhost mysql]# docker build -t mysql:bbb .
\后面的點不能少
4.運行容器并驗證
[root@localhost mysql]# docker run -d --name mysql -P mysql:bbb
5.驗證
[root@localhost mysql]# mysql -h 192.168.6.132 -u root -P 32271 -p123456
此處使用MysQL命令連接容器數據庫時需要在本地系統使用
yum install mysql安裝mariaDB客戶端。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。