Docker镜像与制作的三种方式

网友投稿 249 2022-10-28

Docker镜像与制作的三种方式

yum 方式安装1.下载初始化镜像docker pull ubuntudocker run -it -p 80:80 ubuntu /bin/bashapt-get update && apt-get install vim -yvim /etc/apt/sources.list 修改为阿里的镜像源apt-get update2.安装nginx以及配套软件包apt-get install nginx wget libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev iproute2 net-tools iotop -y开启nginxnginx -tnginx修改配置文件,关闭后台运行,在/etc/nginx/nginx.conf中全局配置中添加daemon off;3.提交容器本终端不退出,在另一个终端里docker commit -a "shitouweb shitouweb@126.com" -m "ubuntu.nginx" 5321db21c49a ubuntu.nginx-a 镜像作者的联系方式-m 镜像描述信息-c 镜像启动时自动执行的命令容器ID创建镜像的名称4.启动容器sudo docker run -it -p 8080:80 ubuntu.nginx nginx

编译方式安装1.初始化容器docker run -it -p 80:80 ubuntu /bin/bashapt-get update && apt-get install gcc vim net-tools -y2.安装配套软件包apt-get install wget libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev iproute2 net-tools iotop gcc g++ automake build-essential -y 3.在容器中下载源码并编译安装cd /usr/local/src && wget zxvf nginx-1.16.1.tar.gzcd nginx-1.16.1 && ./configure --prefix=/apps/nginx && make && make install4.修改配置文件vim /app/nginx/conf/nginx.conf中全局配置中添加daemon off;ln -sv /apps/nginx/sbin/nginx /usr/bin/ #生成软链接5.生成镜像本终端不退出,在另一个终端里docker commit -a "shitouweb shitouweb@126.com" -m "ubuntu.nginx.make" 5321db21c49a ubuntu.nginx:v16.生成容器sudo docker run -it -p 8081:80 ubuntu.nginx:v1 nginx如果想传递参数sudo docker run -it -p 8081:80 ubuntu.nginx:v1 nginx “-g daemon off;”

dockerfile文件制作镜像安装官方规则定义dockerfile文件,自动化非交互制作镜像,里面的没一个步骤都可以查询1.变量中的指令列表支持环境变量dockerfileADD#添加文件,会对tar.gz的压缩包自动解压COPY#添加文件,不能自动解压ENV#设置容器变量,常用向容器内传递用户密码等EXPOSE#对容器暴露端口FROM#定义基础镜像,首先在本地找,本地没有直接下载LABEL#维护信息LABEL maintainer="shitouweb "STOPSIGNALUSER#指定该容器运行时的用户名和UID,后续的RUN命令也会使用这面指定的用户执行VOLUME#设置容器挂载主机目录WORKDIR#指定工作目录RUN#执行shell命令,整个过程非交互式的CMD#定义启动镜像的时候默认执行的命令2.基于dockerfile创建docker镜像创建目录:mkdir -p /opt/dockerfile/web/nginx创建Dcokerfile文件vim Dockerfile #注意文件格式,第一个D必须是大写,文件名必须一模一样#Docker image for nginx

FROM ubuntu LABEL maintainer="shitouweb " ENV password 123456 RUN apt-get update && apt-get install -y wget libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev iproute2 net-tools iotop gcc g++ automake build-essential unzip ADD nginx-1.16.1.tar.gz /usr/local/src RUN cd /usr/local/src/nginx-1.16.1 && ./configure --prefix=/apps/nginx && make && make install && rm -rf nginx-1.16.1 ADD static.zip /apps/nginx/html RUN cd /apps/nginx/html && unzip static.zip && rm -rf static.zip EXPOSE 80 443 CMD ["/apps/nginx/sbin/nginx" , "-g" , "daemon off;"]

创建镜像docker build -t nginx:v2 . #注意最后的那个小点验证容器docker run --rm -it 80:80 nginx:v2 /bin/bash--rm参数:退出之后自动删除。

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

上一篇:第四十章 九析带你轻松完爆 Istio - 安全之加密
下一篇:Quarkus改造Pmml模型项目异常记录及解决处理
相关文章

 发表评论

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