zoukankan      html  css  js  c++  java
  • alpine-bash镜像制作

      alpine轻量级基于busybox的发行版,特别适合基于docker的base images.

    特点:

      small、simple、secure

    官方地址:

    https://alpinelinux.org/     //官方发行版本

    https://pkgs.alpinelinux.org/packages?name=&branch=edge     //apk package

    http://dl-cdn.alpinelinux.org/

    在hub.docker.com官方仓库中默认shell是sh,我还是必须喜欢bash

    https://hub.docker.com/_/alpine

    http://dl-cdn.alpinelinux.org/alpine/  ###镜像库

    ###/etc/apk/repositories
    http://dl-cdn.alpinelinux.org/alpine/v3.11/main
    http://dl-cdn.alpinelinux.org/alpine/v3.11/community
    ###替换国内TUNA源
    sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

    思路概述:

      1、安装bash相关pkg

      2、修改root账户默认shell

      3、修改登录shell后的光标栏(PS1)

      4、覆盖默认进去shell(sh-->bash)

    构建步骤:

    Dockerfile

    FROM alpine:3.7
    MAINTAINER mvpbang mvpbang@qq.com
    ###alpine+bash
    
    ADD .bashrc /root/
    RUN set -x 
        apk update 
        && apk add --no-cache bash bash-doc bash-completion 
        && sed -i 's/ash/bash/g' /etc/passwd 
        && source /root/.bashrc
    CMD ["/bin/bash"]

    .bashrc

    export HISTTIMEFORMAT="%d/%m/%y %T "
    export PS1='u@h:W $ '
    alias ll='ls -alF'
    alias ls='ls --color=auto'
    source /etc/profile.d/bash_completion.sh

    构建镜像

    docker build -t alpine:v1 .

    [root@mvp-dd tmp]# docker run --rm -it alpine:v1
    root@522065c46217:/ # 
    root@522065c46217:/ # 
    root@522065c46217:/ # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    12: eth0@if13: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP 
        link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
           valid_lft forever preferred_lft forever

    注意:由于默认容器启动执行的 /bin/bash,如果引用此镜像未在启动 -it,容器启动完毕后自动退出(no process stop)

  • 相关阅读:
    常用的汇编指令与技巧
    汇编调用c函数为什么要设置栈
    lp2356
    String函数的总结
    2019-5-22训练
    STL——substr
    STL 反转函数 (reverse() )
    2019-5-15训练——深搜
    高精度加法
    八皇后题解
  • 原文地址:https://www.cnblogs.com/xiaochina/p/10480774.html
Copyright © 2011-2022 走看看