转载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是很有必要的,话不多说,我们直 ...
随机推荐
- notepad++ 代码注释快捷键
在用notepad++进行代码编辑的过程中 单行.多行注释 //方式 :ctrl+k 取消单行.多行.区块注释 :ctrl+sh ...
- JAVA进阶13
间歇性混吃等死,持续性踌躇满志系列-------------第13天 1.查看线程的运行状态 package code0327; class Demo01 implements Runnable { ...
- JAVA进阶5
间歇性混吃等死,持续性踌躇满志系列-------------第5天 1.IDEA常用快捷键 2.简单方法的使用 package cn.intcast.day05.demo01; public clas ...
- webpack学习记录
webpack 中文网站 https://webpack.docschina.org/ webpack1 有编译打包 模块热更新 代码分割 文件处理功能 webpack2 tree Shaking( ...
- 20165237 2017-2018-2《Java程序设计》课程总结
20165237 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 我期望的师生关系 学习基础和C语言基础调查 Linux安装及学习 第一周学习总结 第二周学习总结 第 ...
- EF优化之启动预热
为什么Entity Framework的初始化速度慢如蜗牛呢? 对于在应用程序中定义的每个DbContext类型,在首次使用时,Entity Framework都会根据数据库中的信息在内存生成一个映射 ...
- 斜率优化dp 的简单入门
不想写什么详细的讲解了...而且也觉得自己很难写过某大佬(大米饼),于是建议把他的 blog 先看一遍,然后自己加了几道题目以及解析...顺便建议看看算法竞赛(蓝皮书)的 0x5A 斜率优化(P294 ...
- Jmeter性能测试之分布式(五)
Jmeter是纯Java开发的开源性能测试工具, Java程序是很吃内存的, 有时候一台负载机给服务器的压力是不够的, 需要很多台同时负载, 这个时候就需要用到分布式了. 1. 组网图大概就是这样的 ...
- Winform Focus()函数不起作用 解决办法
private void Form_Load(object sender, EventArgs e) { this.txtName.Focus(); } 光标到不了txtName.可能的原因 TabI ...
- Excel—单元格引用
EXCEL的引用有3种:相对引用.绝对引用.混合引用 相对引用.绝对引用比较简单,就是要么拖拽后变,要么拖拽后不变 混合引用有点难度,凡是需要向右拖拽再向下拖拽的记住一定是混合引用 要将拖拽后依然不变 ...