Docker 镜像基础(三)
基于Dockerfile制作yum版本nginx镜像
[root@node-2 ~]# mkdir /opt/nginx
[root@node-2 ~]# cd /opt/nginx/
## 创建Dockerfile文件(Dockerfile 开头字母必须大写):
vim Dockerfile
#
# docker web images
FROM centos:latest
RUN yum install epel-release -y
RUN yum install nginx -y
EXPOSE 80 443 8080
CMD ["/usr/sbin/nginx","-g","daemon off;"] ## 没有添加环境变量进去 只能写全路径
## 生成Dockerfile镜像:
docker build -t nginx:v1 . ## 最后有个点 很重要
## 查看生成的docker images:
[root@node-2 nginx]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v1 ad4850303e64 3 minutes ago 333MB
centos latest 831691599b88 3 weeks ago 215MB
## 从生成的镜像运行一个容器:
docker run -ti --rm -p 80:80 nginx:v1
## 访问 这个容器的IP :
http://ip/
创建nginx 自定义界面:
## 确认镜像里面的nginx 代码目录在哪里:
docker run -ti --rm -p 80:80 nginx:v1 bash
vim /etc/nginx/nginx.conf
## 修改Dockerfile 文件:
vim Dockerfile
#
# docker web images
FROM centos:latest
RUN yum install epel-release -y
RUN yum install nginx -y && rm -rf /usr/share/nginx/html/*
ADD code.tar.gz /usr/share/nginx/html/
EXPOSE 80 443 8080
CMD ["/usr/sbin/nginx","-g","daemon off;"] ## 没有添加环境变量进去 只能写全路径
## 构建镜像:
docker build -t nginx:v2 .
## 生成容器:
docker run -ti --rm -p 80:80 nginx:v2 bash
## 访问:
curl http://IP
......查看内容即可
docker build scripts:
#!/bin/bash
TAG=$1
docker build -t nginx:$TAG .
### 上传harbor:
#docker push ........
### 运行脚本:
1 ) sh docker_build.sh 20200715
2 ) docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 20200715 dd0aea4c4b95 3 days ago 333MB
Docker 镜像基础(三)的更多相关文章
- Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化
Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...
- 2 Docker 镜像基础
Docker 镜像可以从docker.io 下载,也可以自己通过Dockerfile来构建镜像,我有时从国外下载镜像时,网速不行,我就改成国内的镜像,修改如下: # vim /etc/docker/d ...
- docker+k8s基础篇一
Docker+K8s基础篇(一) docker的介绍 A:为什么是docker B:k8s介绍 docker的使用 A:docker的安装 B:docker的常用命令 C:docker容器的启动和操作 ...
- Docker 学习3 Docker镜像管理基础
一.docker 常用操作及原理 1.docker 常用操作 2.docker 机制 1.docker client端是通过http或者https与server端通信的.个 2.docker 镜像可以 ...
- Docker镜像管理基础与基于容器的镜像制作示例
一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建 ...
- Docker镜像管理基础篇
Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...
- docker+k8s基础篇三
Docker+K8s基础篇(三) kubernetes上的资源 A:k8s上的常用资源 Pod的配置清单 A:Pod上的清单定义 B:Pod创建资源的方法 C:spec下其它字段的介绍 Pod的生命周 ...
- 3.docker镜像管理基础
一.docker镜像相关 1.About Docker Image Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器. 采用分层构建机制,最底层为bootf ...
- 三个技巧帮助Docker镜像瘦身
在构建Docker容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快. 但RUN语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体 ...
随机推荐
- 磁盘inode节点被占满的解决方法
问题: Linux服务器,查看日志发现程序无法继续写文件,但是用df -h查看磁盘容量还有剩余. 排查思路:怀疑是机器的inode节点被占满,使用df -i查看磁盘inode节点使用情况,果然是ino ...
- MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒绝连接 (Connection
hive在hive-site.xml中配置hive.metastore.uris属性,后启动异常 hive异常 [fan@master hive-0.13.1-cdh5.3.6]$ bin/hive ...
- mysqldump 导出命令
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...
- RESTful API风格
前言 之前写的接口,有用过Webservices,MVC,ashx,但都没个统一的请求规范,随百度. 参考链接,原文出处 http://www.ruanyifeng.com/blog/2014/05/ ...
- Centos7.3 离线环境下修改时间
运行以下命令 1.tzselect --命令确定时区 2.timedatectl set-timezone Asia/Shanghai --设置系统时区为上海 3.timedatectl set-n ...
- Presto安装完成之后需要做的
Presto因其优秀的查询速度被我们所熟知,它本身基于MPP架构,可以快速的对Hive数据进行查询,同时支持扩展Connector,目前对Mysql.MongoDB.Cassandra.Hive等等一 ...
- CVE-2017-12149 JBOOS反序列化漏洞复现
一.漏洞描述 2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告.该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccess ...
- 万恶的NPE差点让我半个月工资没了
引言 最近看到<阿里巴巴Java开发手册>(公众号回复[开发手册]免费获取)第11条规范写到: 防止 NPE ,是程序员的基本修养 NPE(Null Pointer Exception)一 ...
- JavaDailyReports10_12
运算级自增自减运算符大于取值运算符*,大于取地址运算符! 1 #include<stdio.h> 2 #include<string.h> 3 #define OK 1 4 # ...
- J.U.C关于Execute实现
JAVASE5的Execute将为你管理Thread对象,是启动任务的优选方案 /***newCachedThreadPool在程序的执行过程中通常会创建于所需任务相同数量的线程即可以达到Intege ...