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