转载Alpine基础

2018-08-06

  1. 基础镜像
FROM alpine:latest
  1. 国内可用镜像地址
    官方镜像列表: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
  1. 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 #卸载并删除软件包
  1. 创建软链接
#创建软链接为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 && \
  1. 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自动命令行补全, 能提示命令、提示命令参数]
  1. 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
  1. 需要删除的缓存文件
rm -r /usr/lib/python*/ensurepip
rm -r /root/.cache
  1. 设置时区
#设置基础镜像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"]
  1. 可能需要安装的文件

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

其他

  1. SSH安装
#SSH安装
RUN apk add openssh-server
RUN mkdir /var/run/sshd
  1. 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

上一篇:Prometheus 监控Haproxy


下一篇:SQL SERVER 通用分页存储过程,两种用法任你选