#1521 reduce Docker image size

This commit is contained in:
Unknwon 2015-08-25 12:41:01 +08:00
parent c256fc4438
commit be90ea583a
3 changed files with 53 additions and 26 deletions

12
.dockerignore Normal file
View file

@ -0,0 +1,12 @@
.git/*
conf/*
packager/*
scripts/*
*.yml
*.md
.bra.toml
.editorconfig
.gitignore
.gopmfile
config.codekit
LICENSE

View file

@ -1,39 +1,54 @@
FROM google/golang:latest FROM google/debian:wheezy
MAINTAINER codeskyblue@gmail.com MAINTAINER u@gogs.io
RUN echo "deb http://ftp.debian.org/debian/ wheezy-backports main" >> /etc/apt/sources.list RUN echo "deb http://ftp.debian.org/debian/ wheezy-backports main" >> /etc/apt/sources.list && \
RUN apt-get update apt-get update -qqy && \
RUN apt-get install -y openssh-server rsync libpam-dev apt-get install --no-install-recommends -qqy \
curl build-essential ca-certificates git \
openssh-server rsync libpam-dev && \
apt-get autoclean && \
apt-get autoremove && \
rm -rf /var/lib/apt/lists/*
# set the working directory and add current stuff ENV GOROOT /goroot
COPY . /gopath/src/github.com/gogits/gogs/ ENV GOPATH /gopath
ENV PATH $PATH:$GOROOT/bin:$GOPATH/bin
COPY . /gopath/src/github.com/gogits/gogs/
WORKDIR /gopath/src/github.com/gogits/gogs/ WORKDIR /gopath/src/github.com/gogits/gogs/
RUN go get -v -tags "sqlite redis memcache cert pam" # Build binary and clean up useless files
RUN go build -tags "sqlite redis memcache cert pam" RUN mkdir /goroot && \
curl https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz | tar xzf - -C /goroot --strip-components=1 && \
go get -v -tags "sqlite redis memcache cert pam" && \
go build -tags "sqlite redis memcache cert pam" && \
mkdir /app/ && \
mv /gopath/src/github.com/gogits/gogs/ /app/gogs/ && \
rm -r $GOROOT $GOPATH
WORKDIR /app/gogs/
RUN useradd --shell /bin/bash --system --comment gogits git RUN useradd --shell /bin/bash --system --comment gogits git
RUN mkdir /var/run/sshd # SSH login fix, otherwise user is kicked off after login
# SSH login fix. Otherwise user is kicked off after login RUN mkdir /var/run/sshd && \
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \
RUN sed 's@UsePrivilegeSeparation yes@UsePrivilegeSeparation no@' -i /etc/ssh/sshd_config sed 's@UsePrivilegeSeparation yes@UsePrivilegeSeparation no@' -i /etc/ssh/sshd_config && \
RUN echo "export VISIBLE=now" >> /etc/profile echo "export VISIBLE=now" >> /etc/profile && \
RUN echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config
# setup server keys on startup # Setup server keys on startup
RUN sed 's@^HostKey@\#HostKey@' -i /etc/ssh/sshd_config RUN sed 's@^HostKey@\#HostKey@' -i /etc/ssh/sshd_config && \
RUN echo "HostKey /data/ssh/ssh_host_key" >> /etc/ssh/sshd_config echo "HostKey /data/ssh/ssh_host_key" >> /etc/ssh/sshd_config && \
RUN echo "HostKey /data/ssh/ssh_host_rsa_key" >> /etc/ssh/sshd_config echo "HostKey /data/ssh/ssh_host_rsa_key" >> /etc/ssh/sshd_config && \
RUN echo "HostKey /data/ssh/ssh_host_dsa_key" >> /etc/ssh/sshd_config echo "HostKey /data/ssh/ssh_host_dsa_key" >> /etc/ssh/sshd_config && \
RUN echo "HostKey /data/ssh/ssh_host_ecdsa_key" >> /etc/ssh/sshd_config echo "HostKey /data/ssh/ssh_host_ecdsa_key" >> /etc/ssh/sshd_config && \
RUN echo "HostKey /data/ssh/ssh_host_ed25519_key" >> /etc/ssh/sshd_config echo "HostKey /data/ssh/ssh_host_ed25519_key" >> /etc/ssh/sshd_config
# prepare data # Prepare data
#ENV USER="git" HOME="/home/git"
ENV GOGS_CUSTOM /data/gogs ENV GOGS_CUSTOM /data/gogs
RUN echo "export GOGS_CUSTOM=/data/gogs" >> /etc/profile RUN echo "export GOGS_CUSTOM=/data/gogs" >> /etc/profile
EXPOSE 22 3000 EXPOSE 22 3000
ENTRYPOINT [] ENTRYPOINT []
CMD ["./docker/start.sh"] CMD ["./docker/start.sh"]

View file

@ -87,7 +87,7 @@ img.avatar-100 {
height: 59px; height: 59px;
z-index: 100; z-index: 100;
font-size: 12px; font-size: 12px;
width: 120%; width: 170%;
min-width: 140px; min-width: 140px;
} }
#footer-lang .drop-down li > a { #footer-lang .drop-down li > a {