Skip to content

Latest commit

 

History

History
106 lines (86 loc) · 6.42 KB

File metadata and controls

106 lines (86 loc) · 6.42 KB
  • my-dockerob
ONTAINER_USER=$1                                                                  
                                                                                   
if [ -z "$CONTAINER_USER" ]; then                                                  
    CONTAINER_USER=$USER                                                           
fi                                                                                 
                                                                                   
my-docker openbmc/ubuntu2404:latest $CONTAINER_USER-$RANDOM $CONTAINER_USER   
  • my-docker
#!/bin/bash                                                                        
                                                                                   
IMAGE_NAME=$1                                                                      
CONTAINER_NAME=$2                                                                  
CONTAINER_USER=$3                                                                  
                                                                                   
if [ -z "$IMAGE_NAME" ] || [ -z "$CONTAINER_NAME" ]; then                          
    echo [usage] my-docker \$image \$container [user]                            
    exit                                                                           
fi                                                                                 
                                                                                   
if [ -z "$CONTAINER_USER" ]; then                                                  
    CONTAINER_USER=$USER                                                           
fi                                                                                 
                                                                                   
docker run \                                                                       
    --cap-add=sys_admin \                                                          
    --cap-add=sys_nice \                                                           
    --net=host \                                                                   
    --hostname=docker \                                                            
    --name $CONTAINER_NAME \                                                       
    -v /home:/home \                                                               
    -v /etc/passwd:/etc/passwd \                                                   
    -v /etc/shadow:/etc/shadow \                                                   
    -v /etc/group:/etc/group \                                                     
    --rm \                                                                         
    -w $PWD \                                                                      
    -it \                                                                          
    $IMAGE_NAME \                                                                  
    /bin/bash -c "su $CONTAINER_USER"                             


# -t: pseudo terminal
# -v: mount
# -u: user and group
# -d: detach
  • docker-file.txt
FROM ubuntu:24.04                                                                  
                                                                                   
ENV DEBIAN_FRONTEND noninteractive                                                 
                                                                                   
RUN apt-get update && apt-get install -yy \                                        
  build-essential \                                                                
  chrpath \                                                                        
  cpio \                                                                           
  debianutils \                                                                    
  diffstat \                                                                       
  file \                                                                           
  gawk \                                                                           
  git \                                                                            
  iputils-ping \                                                                   
  libdata-dumper-simple-perl \                                                     
  liblz4-tool \                                                                    
  libsdl1.2-dev \                                                                  
  libthread-queue-any-perl \                                                       
  locales \                                                                        
  python3 \                                                                        
  socat \                                                                          
  subversion \                                                                     
  texinfo \                                                                        
  vim \                                                                            
  wget \                                                                           
  zstd \                                                                           
  sudo \
  python3-distutils-extra
# sudo: sometimes I need it
# python3-distutils-extra: to pass the sanity check of older openbmc?

                                                                                   
# Set the locale                                                                   
RUN locale-gen en_US.UTF-8                                                         
ENV LANG en_US.UTF-8                                                               
ENV LANGUAGE en_US:en                                                              
ENV LC_ALL en_US.UTF-8                                            
  • build docker image
#!/bin/bash                                                                        
                                                                                   
docker build \                                                                     
    --network=host \                                                               
    -t openbmc/ubuntu2404:v2024.05.10 \                                            
    -f docker-file.txt \                                                           
    /