转载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

原文地址:https://www.cnblogs.com/China-YangGISboy/p/10639656.html