alpine-bash鏡像製做

  alpine輕量級基於busybox的發行版,特別適合基於docker的base images.linux

特色:docker

  small、simple、secureshell

官方地址:

  https://alpinelinux.org/     //官方發行版本bash

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

在hub.docker.com官方倉庫中默認shell是sh,我仍是必須喜歡bashui

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

思路概述:

  一、安裝bash相關pkgcode

  二、修改root帳戶默認shellblog

  三、修改登陸shell後的光標欄(PS1)ip

  四、覆蓋默認進去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)

相關文章
相關標籤/搜索