docker镜像练习

网友投稿 227 2022-11-03

docker镜像练习

构建SSH镜像

mkdir /opt/sshdcd /opt/sshd

vim Dockerfile第一行必须指明基于的基础镜像FROM centos:7作者信息MAINTAINER this is ssh image < jd 2022-3-9>镜像的操作指令RUN yum -y updateRUN yum -y install openssh* net-tools lsof telnet passwdRUN echo ' abc1234' | passwd --stdin rootRUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd config不使用PAM认证RUN sed -ri ' /^session\s+required\s+pam _loginuid.so/ s/^/#/' /etc/pam. d/ sshd取消pam限制RUN ssh-keygen -t rsa -A生成密钥认证文件RUN mkdir -p /root/ .ssh && chown root. root /root && chmod 700 /root/ . sshEXPOSE 22CMD ["/usr/sbin/sshd" ,"-D"]/usr/sbin/sshd -D用于前台启动sshd服务

//生成镜像docker build -t sshd: centos .

//启动容器并修改root密码docker run -d -P sshd: centosdocker ps -assh localhost -p 49155

Systemctl镜像

------------------------------Systemct1镜像-------------------------------------- - mkdir /opt/systemctl cd /opt/systemctl vim Dockerfile FROM sshd: centos MAINTAINER this is systemctl image ENV container docker #除了systemd- tmpfiles-setup. service,删除其它所有文件 RUN (cd /1ib/ 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 /1ib/systemd/system/ local-fs. target .wants/*; \ rm -f /lib/ systemd/ system/ sockets. target . wants/*udev*; \ rm -f /lib/ systemd/ system/ sockets. target . wants/*initct1*; \ :m -f /lib/ systemd/ system/basic. target. wants/*;\ rm -f /lib/ systemd/ sys tem/ anaconda. target . wants/*; VOLUME [ "/sys/ fs/ cgroup", #CMD ["/usr/sbin/init"] //生成镜像 docker build -t systemd: centos //启动容器,并挂载宿主机目录挂载到容器中,和进行初始化 docker run --privileged -d -P -V /sys/ fs/ cgroup: /sys/ fs/ cgroup:ro systemd:centos /sbin/init #--privileged:使container内 的root拥有真正的root权限。否则,container 内的root只是外部的一个 普通用户权限。 docker ps -a //进入容器 docker exec -it a0d624d2bfa9 bash systemctl status sshd 方法二: docker run --privileged -it -P -v /sys/fs/ cgroup:/sys/ fs/cgroup:ro systemd: centos /sbin/init &

nginx镜像

------------------------------nginx镜像------------------------------------------ mkdir /opt/nginx cd /opt/nginx/ cp /opt/nginx-1.12.0.tar.gz /opt/nginx vim Dockerfile #基于基础镜像 FROM centos: 7 #用户信息 MAINTAINER this is nginx image #添加环境包 RUN yum -Y update RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make RUN useradd -M -S /sbin/nologin nginx #上传nginx软件压缩包,并解压 ADD nginx-1.12.0.tar.gz /opt/ #指定工作目录 WORKDIR /opt/nginx-1.12.0 RUN . /configure \ --prefix=/usr/local/nginx \ --user=nginx \ - -group=nginx \ --with-stub_ status_ module && 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 #关闭nginx 在后台运行 #添加宿主机中run.sh到容器中 ADD run.sh / run.sh . RUN chmod 755 / run.sh CMD ["/run. sh"] #CMD ["/usr/local/sbin/nginx", "-g", "daemon off;"] vim run. sh #! /bin/bash /usr/local/nginx/ sbin/nginx //创建新镜像 docker build -t nginx:centos . docker run -d -P nginx:centos docker ps -a 5df9e4383b96 nginx: centos "/ run. sh" 15 seconds ago Up 15 seconds 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp . silly_ davinci http://192.168.80.10:32769

构建tomcat镜像

构建mysql镜像

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:英创信息技术WinCE主板与STM32多功能模块通讯介绍
下一篇:Java深入了解数据结构之栈与队列的详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~