转载Alpine基础
2018-08-06
- 基础镜像
FROM alpine:latest
- 国内可用镜像地址
官方镜像列表:http://rsync.alpinelinux.org/alpine/MIRRORS.txt 镜像源配置
清华大学开源软件镜像站
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.8/community/" > /etc/apk/repositories
中科大开源软件镜像站
RUN echo "http://mirrors.ustc.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories
RUN echo "http://mirrors.ustc.edu.cn/alpine/v3.8/community/" > /etc/apk/repositories
阿里开源软件镜像站
RUN echo "http://mirrors.aliyun.com/alpine/v3.8/main/" > /etc/apk/repositories
RUN echo "http://mirrors.aliyun.com/alpine/v3.8/community/" > /etc/apk/repositories
- alpine管理软件命令
$ apk add # 安装软件
$ apk add asterisk=1.6.0.21-r0 #安装指定版本软件包
$ apk add 'asterisk<1.6.1' # 安装指定版本软件包
$ apk add 'asterisk>1.6.1' # 安装指定版本软件包
$ apk add openssh openntp vim
$ apk add --no-cache mysql-client
$ apk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted
$ apk update #更新最新本地镜像源
$ apk upgrade #升级软件
$ apk add --upgrade busybox #指定升级部分软件包
$ apk search #查找所以可用软件包
$ apk search -v #查找所以可用软件包及其描述内容
$ apk search -v 'acf*' #通过软件包名称查找软件包
$ apk search -v -d 'docker' #通过描述文件查找特定的软件包
$ apk info #列出所有已安装的软件包
$ apk info -a zlib #显示完整的软件包信息
$ apk info --who-owns /sbin/lbu #显示指定文件属于的包
$ apk del openssh openntp vim #卸载并删除软件包
- 创建软链接
#创建软链接为pip3和python3
RUN && \
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
- How do install bash in Alpine Linux
apk update
apk upgrade
apk add bash
#To install bash documentation, enter:
apk add bash-doc
bash [Bash (GNU Bourne-Again Shell) | 多数Linux系统以及Mac OS X默认的shell]
bash-doc [bash 文档]
bash-completion [安装bash自动命令行补全, 能提示命令、提示命令参数]
- Docker Alpine 安装 bash
FROM alpine:latest
MAINTAINER xinfei
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
bash-doc \
bash-completion \
&& rm -rf /var/cache/apk/* \
&& /bin/bash
- 需要删除的缓存文件
rm -r /usr/lib/python*/ensurepip
rm -r /root/.cache
- 设置时区
#设置基础镜像baseImage
FROM alpine:latest
#设置 MAINTAINER
LABEL maintainer xinfei
#定义时区变量--此系统需要安装 timezone 数据包 apk add -U tzdata
ENV TIME_ZONE Asia/Shanghai
# 设置镜像仓库地址
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories
#设置时区
RUN apk add --no-cache -U tzdata \
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \
&& echo "${TIME_ZONE}" > /etc/timezone
ENTRYPOINT ["/bin/sh"]
- 可能需要安装的文件
vim curl wget git emacs bc build-essential gcc
python3
python3-pip
python3-dev
python3 -m ensurepip
wheel autoclean virtualenv clean autoremove
pip18
setuptools-40.0
pip3 install --upgrade pip setuptools
openssh
selenium
locustio
1. [OpenSSH是SSH(Secure SHell) 协议的免费开源实现, SSH协议族可以用来进行远程控制,或在计算机之2间传送文件]
2. virtualenv 创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包
aa
其他
- SSH安装
#SSH安装
RUN apk add openssh-server
RUN mkdir /var/run/sshd
- python3 安装
RUN apk add --no-cache python3 && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --upgrade pip setuptools && \
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
rm -r /root/.cache
#设置基础镜像baseImage
FROM alpine:latest
#设置 MAINTAINER
LABEL maintainer xinyuefeifei
#定义时区变量--此系统需要安装 timezone 数据包 apk add -U tzdata
ENV TIME_ZONE Asia/Shanghai
# 设置镜像仓库地址
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories
# 创建临时文件夹
WORKDIR /home/InstallFile
ARG path=/home/InstallFile
COPY ./*.whl ${path}/
RUN apk add --no-cache -U python3 \
&& apk add --no-cache -U tzdata \
&& if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi \
&& if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi \
&& python3 -m ensurepip \
&& rm -r /usr/lib/python*/ensurepip \
&& pip install ${path}/pip-18.0-py2.py3-none-any.whl \
&& pip install ${path}/*.whl \
#设置时区
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \
&& echo "${TIME_ZONE}" > /etc/timezone \
#&& rm -rf ${path}/*
ENTRYPOINT ["/bin/sh"]
FROM alpine:latest
MAINTAINER demo <juest a demo>
ENV TZ "Asia/Shanghai"
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main" > /etc/apk/repositories
RUN apk add --update \
bash \
python \
python-dev \
py-pip \
mysql-dev \
build-base \
&& pip install Flask \
&& pip install MySQL-python \
&& rm -rf /var/cache/apk/*
使用Alpine镜像,来制作nginx容器
# vi Dockerfile
FROM alpine:latest
MAINTAINER xinfei luabest@qq.com
# install nginx
RUN apk --update add nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
作者:心悦飞飞
链接:https://www.jianshu.com/p/d9f150b990f7
转载Alpine基础的更多相关文章
- [转]C# ListView 单击标题实现排序(在转载的基础上有所完善)
using System; using System.Collections; using System.Windows.Forms; //在转载的基础上有所完善 namespace TDRFacto ...
- [转载]存储基础:DAS/NAS/SAN存储类型及应用
这篇文章转自博客教主的一篇博客存储基础:DAS/NAS/SAN存储类型及应用, 他是在张骞的这篇博客DAS,NAS,SAN在数据库存储上的应用上做了部分修改和补充. 一. 硬盘接口类型 1. 并行 ...
- (转载)Java基础知识总结
写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技 ...
- [转载]maven基础入门
用 Maven 做项目构建 本文转载自:https://www.ibm.com/developerworks/cn/java/j-lo-maven/ 本文将介绍基于 Apache Maven 3 的项 ...
- 转载Alpine Linux常用命令
Alpine Linux常用命令 目录 一:Alpine Linux开启SSH远程登陆 1.简介: 2.配置 3.配置命令 4.重启服务 二:Alpine Linux源管理 1.简介 2.国内源简介: ...
- (转载)MySQL基础(非常全)
MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- [ 转载 ] Java基础12--基础学习总结——数组
java基础学习总结——数组 一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的 ...
- [ 转载 ] Java基础10--关于Object类下所有方法的简单解析
关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...
随机推荐
- 使用sessionStorage、localStorage存储数组与对象
先介绍一下localStorage localStorage对象是HTML5的客户端存储持久化数据的方案.为了能访问到同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一 ...
- sql where,group by ,having,order by用法和区别
select 子句 指定列 可放置分组函数 where子句:限制行 group by 子句:对数据进行分组 和 having子句:限定组.和group by 一起使用 (对分组时候进行筛选)可放置分组 ...
- maven 一些整理
1.发布jar包到私服,需要进入项目目录 发布jar :mvn deploy 发布源码 :mvn source:jar deploy,这个需要依赖一个maven插件: <plugin> ...
- django/python日志logging 的配置以及处理
日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常.在生产环境下有很大的用处.在java 开发中通常用 log4j,logback 等三方组件.那么在 django中是怎么处 ...
- Error while Installing APKs
这一篇帖子 会写的比较简单 不过相信大家也可能遇到这些问题 为了怕自己忘记 记录下来 顺便也和大家一起分享 描述:在一些机型上安装软件 提示卸载原先的软件 但是又安装不上新软件DELETE_ ...
- Python 爬虫 当当网图书 scrapy
目标站点需求分析 获取当当网每个图书名字和评论数 涉及的库 scrapy,mysql 获取解析单页源码 保存到数据库中 结果
- 在DIV中如何控制字的位置?
想到实现字体在div中处于上图(右下角)的位置的话,只需在字体样式上面加上这行代码就好了:style='margin-top:120px;height:20px;float:right;text-al ...
- MySQL和B树的那些事
一.零铺垫 在介绍B树之前,先来看另一棵神奇的树——二叉排序树(Binary Sort Tree),首先它是一棵树,“二叉”这个描述已经很明显了,就是树上的一根树枝开两个叉,于是递归下来就是二叉树了( ...
- [转] 扩展微信小程序框架功能
通过第三方 JavaScript 库,扩展微信小程序框架功能. 扩展微信小程序框架功能(1)——Promise ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.1122 ...
- SQL反模式学习笔记22 伪键洁癖,整理数据
目标:整理数据,使不连续的主键Id数据记录变的连续. 反模式:填充断档的数据空缺. 1.不按照顺序分配编号 在插入新行时,通过遍历表,找到的第一个未分配的主键编号分配给新行,来代替原来自动分配的伪主键 ...