- 使用docker file自动生成nginx镜像
导入centos镜像
[root@localhost nginx]# docker load < /mnt/centos
mkdir nginx
cd nginx
vim Dockerfile
#设置基础镜像
FROM centos
#维护该镜像的用户信息
MAINTAINER the centos project
#安装相关依赖包
RUN yum -y install wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel
#下载Nginx源码包
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
#开启容器的80/443端口
EXPOSE 80
EXPOSE 443
#修改配置文件,以非daemon方式启动
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
WORKDIR /root/nginx
ADD run.sh /run.sh
#赋予脚本权限
RUN chmod 775 /run.sh
#启动容器时执行脚本,编辑完成后,保存退出即可
CMD ["/run.sh"]
vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx
[root@01 nginx]# docker build -t nginx:linfan . //通过file自动生成镜像
[root@localhost nginx]# docker run -d -P nginx:linfan //-d在宿主机后台运行
-P随机分配端口为32770,在客户机测试需加上指定的端口
- 搭建Tomcat容器
mkdir tomcat
cd tomcat
PS:创建工作目录后,可以先把需要的jdk软件包下载解压到工作目录
[root@localhost tomcat]# ls
jdk-8u91-linux-x64.tar.gz
[root@localhost tomcat]# tar xzvf jdk-8u91-linux-x64.tar.gz
[root@localhost tomcat]# vim Dockerfile
#基础镜像centos
FROM centos
#维护该镜像的用户信息
MAINTAINER The centos project 16601500035@163.com
#将本地的JDK文件上传至容器
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 JRE_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
#安装wget工具并下载tomcat包
RUN yum -y install wget
RUN wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz
RUN tar zxf apache-tomcat-8.5.57.tar.gz
#移动至tomcat源码包
RUN mv apache-tomcat-8.5.57 /usr/local/tomcat
#开启8080端口
EXPOSE 8080
#添加运行脚本
ADD run.sh /run.sh
#添加运行脚本, #赋予脚本执行权限
RUN chmod 775 /run.sh
CMD ["/run.sh"]
#运行脚本,编写完毕后,保存退出即可。
[root@localhost tomcat]# vim run.sh
#!/bin/bash
/usr/local/tomcat/bin/startup.sh
tailf /run
[root@localhost tomcat]# docker build -t tomcat:linfan . //生成镜像
[root@localhost tomcat]# docker run -d --name tomcat01 -p 4444:8080 tomcat:linfan
2af29b55ede8ed5679912daf8675ce1716913be238801d15454a9e145ae17272
- 搭建MySQL容器
[root@localhost mysql]# docker pull docker.io/guyton/centos6
[root@localhost ~]# mkdir mysql
[root@localhost ~]# cd mysql/
[root@localhost mysql]# vim Dockerfile
#设置基础镜像
FROM guyton/centos6
#维护该镜像的用户信息
MAINTAINER the centos project-mysql
#安装MySQL数据包
RUN yum -y install mysql mysql-server
#开启MySQL服务,并授权,密码123456
RUN /etc/init.d/mysqld start &&
mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"&&
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';"
#开启3306端口
EXPOSE 3306
#运行初始化脚本mysql_safe
CMD ["mysqld_safe"]
[root@localhost mysql]# docker build -t mysql:centos6 .
//创建一个容器名称为mysql,随机分配一个端口
[root@localhost mysql]# docker run -d --name mysql -P mysql:centos6
1067a7741dcc134df9e676d2dd62fa38e73bead3ec2bd03c8359aad034692e3f
如果通过本地主机访问,需要在本机通过yum安装mysql,通过本机的mysql访问程序,进行连接。
[root@localhost mysql]# yum -y install mysql
lhost mysql]# mysql -h 192.168.1.63 -u root -P 32770 -p123456