手动构建

1.关键字查找镜像

sudo docker search centos

2.下载基本镜像

sudo docker pull centos

3.启动容器

sudo docker run -d -it --name centos1 -h centos1 -p 91:80 -v /home/root:/my_python -w my_python centos /bin/bash
# 查看已经启动的docker
docker container ls

4.进入容器

sudo docker exec -it 容器id /bin/bash

5.进入更新软件

apt-get update

6.安装软件

yum install -y gcc   等

7.退出

exit

8.停止容器

docker stop 容器id

9.提交镜像

sudo docker commit -m "python3" 73795020d9d8 ubuntu-python3:3.5
73795020d9d8 容器id
ubuntu-python3 名字
3.5 :版本号

dockerfile构建

1.创建Dockerfile文件     D要大写

vim Dockerfile

  

# This is My first Dockerfile
# Version 1.0
# Author: yu # Base image 最基础的镜像
FROM centos # MAINTAINER 维护者 (已弃用) 用LABEL
LABEL maintainer="yu" # ADD 添加文件 COPY也可以文件 但是ADD可以解压缩文件
ADD plist.txt(文件名称,这个路径,同级目录) /usr/local/src(添加到的路径)
ADD pore-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src # RUN 要干什么 运行shell命令 安装软件和包
RUN yum install -y wget gcc gcc-c++ make openssl-devel
RUN useradd -s /sbin/nologin -M www # 添加用户 # WORKDIR 相当于cd 进入目录 尽量使用绝对目录
WORKDIR /usr/local/src/plist.txt
RUN pip install -r plist.txt
RUN ./configure --prefix=/uer/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/uer/local/src/pcre-8.37 && make && make install
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf # ENV 配置环境变量
ENV PATH /ust/local/nginx/sbin:$PATH # EXPOST 映射端口 还可以设置端口监听是tcp或者udp 默认是tcp tcp可以不写
EXPOST 80/tcp # CMD 执行命令 1.设置容器启动后默认执行的命令参数 2.如果docker run指定了其他命令,cmd命令会被忽略 3.如果定义了多个cmd,只会执行最后一个
CMD ['nginx'] # ENTRYPOINT 设置容器启动时运行的命令 1.让容器以应用程序或者服务的形式运行 2.不会被忽略,一定会执行 3.最佳实践:写一个shell脚本为entrypoint

2.运行Dockerfile文件

docker build -t(取个名称) my_nginx:V2  .(Dockerfile文件路径,也可以写绝对路径)

  

搭建自己的docker镜像的更多相关文章

  1. 搭建apphouse(docker镜像私服)

    1.下载apphouse,地址为http://www.youruncloud.com/soft.html2.上传AppHouse_v1.0.2.tar到服务器并解压3../apphouse_insta ...

  2. kubernetes集群搭建(9):docker 镜像的导入与导出

    由于K8s搭建时官方提供的镜像不FQ是访问不了的,所以搭建过程中很多时间都耗费在去找镜像去了 下面是我搭建k8s集群用到的镜像  没有采用之前我用的二进制文件搭建(dns没成功),这里采用的Kubea ...

  3. TensorFlow(1):使用Docker镜像搭建TensorFlow环境

    1,关于TensorFlow TensorFlow 随着AlphaGo的胜利也火了起来. google又一次成为大家膜拜的大神了.google大神在引导这机器学习的方向. 同时docker 也是一个非 ...

  4. 你必须知道的Docker镜像仓库的搭建

    近期工作中发现用到的容器镜像越来越多(不多的时候没考虑过镜像仓库的问题),同一个容器镜像也存在多个版本,那么镜像仓库的搭建需求就涌现出来,本文就目前的几个常用镜像仓库的搭建进行介绍,我们可以根据需要选 ...

  5. 019.nexus搭建docker镜像仓库/maven仓库

    一.安装docker CE 参考docker doc https://docs.docker.com/install/linux/docker-ce/centos/ 二.docker启动nexus3 ...

  6. python开发笔记-Python3.7+Django2.2 Docker镜像搭建

    目标镜像环境介绍: 操作系统:ubuntu16.04 python版本:python 3.7.4 django版本:2.2 操作步骤: 1.  本地安装docker环境(略)2. 拉取ubunut指定 ...

  7. CentOS7搭建Docker镜像实战

    开发十年,就只剩下这套架构体系了! >>>   一.搭建环境 使用的是VMWare 12虚拟机安装的CentOS7 安装成功后修改ip: 1. ip addr查看相关信息: 2. 修 ...

  8. PyCharm使用之利用Docker镜像搭建Python开发环境

      在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装 ...

  9. Python环境搭建、python项目以docker镜像方式部署到Linux

    Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https: ...

随机推荐

  1. [LeetCode] 794. Valid Tic-Tac-Toe State 验证井字棋状态

    A Tic-Tac-Toe board is given as a string array board. Return True if and only if it is possible to r ...

  2. window环境下的oracle错误error: 0x7e的解决方法

    今天连接一个Win2008 Server服务端上的一个oracle出现了下面的这些错误 LoadLibraryFromPath: FQ Dll C:\Windows\system\oci.dll is ...

  3. python使用rdflib创建rdf,在jena fuseki上执行SPARQL查询

    建立并启动jena fuseki服务 参考:https://www.cnblogs.com/bincoding/p/11223372.html 使用rdflib创建rdf文件 import rdfli ...

  4. 动手学深度学习8-softmax分类pytorch简洁实现

    定义和初始化模型 softamx和交叉熵损失函数 定义优化算法 训练模型 import torch from torch import nn from torch.nn import init imp ...

  5. commitizen规范代码提交

    转载链接:https://www.jianshu.com/p/bd712e42f2e9 参考链接:https://segmentfault.com/a/1190000009048911 平时提交的变动 ...

  6. 关于 AutoResetEvent 的介绍的简单示例

    关于 AutoResetEvent 的介绍的简单示例 直接贴代码了: class Program { static void Main(string[] args) { string result = ...

  7. R数据挖掘 第一篇:聚类分析(划分)

    聚类是把一个数据集划分成多个子集的过程,每一个子集称作一个簇(Cluster),聚类使得簇内的对象具有很高的相似性,但与其他簇中的对象很不相似,由聚类分析产生的簇的集合称作一个聚类.在相同的数据集上, ...

  8. form.submit()提交后返回数据的处理

    form.submit()发送请求一般是单向的,如果需要取返回的数据,一般会发送ajax请求,但是如果form中有附件呢?(以后有时间给大家分享ajax上传附件的功能),确实需要返回数据来知道该功能是 ...

  9. TCP 协议 精解

    http://www.cnblogs.com/sunev/archive/2012/06/23/2559389.html

  10. 阿里云 centos 无法执行moodle cron

    在阿里云服务器安装moodle时,在执行cron计划任务时,报错sendmail: fatal: parameter inet_interfaces: no local interface found ...