Dockerfile镜像脚本,不用谢----------持续更新

删除none状态退出的镜像
vim abc.txt
#!/bin/bash
docker ps -a | grep "Exited" | awk '{print $1}' |xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1}' |xargs docker rm
docker images | grep none|awk '{print $3}' | xargs docker rmi
docker images | awk '{print $3}' | xargs docker rmi
docker build -t  镜像名 .

docker run -d -P 镜像名字
-d  守护进程
-P  随机映射端口

----------------------nginx镜像------------------------------
vim Dockerfile

#基础镜像
FROM centos:7
#用户信息
MAINTAINER this is nginx images
#添加环境包
RUN yum -y update
RUN yum install gcc gcc-c++ pcre-devel zlib-devel make -y
RUN useradd -M -s /sbin/nologin nginx
#下载nginx软件包
ADD nginx-1.12.2.tar.gz /opt
WORKDIR /opt
#指定工作目录
WORKDIR nginx-1.12.2
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
RUN make && make install
ENV PATH /usr/local/nginx/sbin:$PATH
#指定http和https端口
EXPOSE 80
EXPOSE 443
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
#添加宿主机中run.sh到容器中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]

vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx

----------------------------------SSH镜像----------------
vim Dockerfile

cd /opt
mkdir sshd
cd sshd

FROM centos
MAINTAINER The Centos Project <cloud centos>
RUN yum -y update
RUN yum -y install openssh* net-tools lsof telnet passwd
RUN echo '123456' | passwd --stdin root
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^/#/' /etc/pam.d/sshd
RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]

生成镜像
docker build -t sshd:new

启动容器并修改root密码
docker run -d -P sshd:new
ssh localhost -p 32771

-----------------------------Tomcat镜像-----------------------
vim Dockerfile

FROM centos:7
MAINTAINER this is tomcat
RUN yum -y update
COPY jdk-8u201-linux-x64.rpm /opt/
RUN rpm -ivh /opt/jdk-8u201-linux-x64.rpm
ENV JAVA_HOME /usr/java/jdk1.8.0_201-amd64
ENV CLASSPATH $JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
ENV PATH $JAVA_HOME/bin:$PATH
ADD apache-tomcat-9.0.16.tar.gz /opt/tomcat
RUN mv /opt/tomcat/apache-tomcat-9.0.16/ /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

---------------------------------mysq镜像l----------------------------
vim Dockerfile

FROM centos:7
MAINTAINER This is MySQL Project
RUN yum -y update
RUN yum install -y ncurses-devel autoconf cmake tar gcc gcc-c++ make pcre-devel expat-devel pcre
COPY mysql-5.6.26.tar.gz /opt
RUN tar zxvf /opt/mysql-5.6.26.tar.gz -C /opt
WORKDIR /opt/mysql-5.6.26
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
RUN make && make install
RUN rm -f /etc/my.cnf
RUN cp /opt/mysql-5.6.26/support-files/my-default.cnf /etc/my.cnf
RUN cp /opt/mysql-5.6.26/support-files/mysql.server /etc/init.d/mysqld
RUN chmod 755 /etc/init.d/mysqld
ENV PATH $PATH:/usr/local/mysql/bin
RUN useradd -s /sbin/nologin mysql
RUN chown -R mysql:mysql /usr/local/mysql/
RUN /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
RUN ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock
RUN sed -i '46 s/basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld
RUN sed -i '47 s/datadir=/datadir=\/home\/mysql/' /etc/init.d/mysqld
WORKDIR /root
run rm -f /opt/mysql-5.6.26.tar.gz
EXPOSE 3306
CMD ["mysqld_safe"]

-------------------------------systemctl镜像-------------------------------
vim Dockerfile

FROM centos:7
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*; \
rm -f /etc/systemd/system/*.wants/*; \
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*; \
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME ["sys/fs/cgroup"]
CMD ["/usr/sbin/init"]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值