如何构建Docker容器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有大名免费网站建设让你可以放心的选择与我们合作。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客户端。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。