A simple git container running in alpine linux, especially for tiny linux distro.
958fc49d
17.9 MB
23 days ago
326.1M
Name
Layer
Last update
about 2 months ago
about 2 months ago
23 days ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
about 2 months ago
Readme

docker-git-alpine

A useful simple git container running in alpine Linux, especially for tiny Linux distro, such as RancherOS, which doesn't have a package manager.

DockerHub Badge

Github Repo

https://github.com/alpine-docker/git

travis CI build logs

https://travis-ci.org/alpine-docker/git

Docker image tags

https://hub.docker.com/r/alpine/git/tags/

usage

docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git <git_command>

For example, if you need clone this repository, you can run

docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git clone https://github.com/alpine-docker/git.git

Optional usage 1:

To save your type, add this fuction to ~/.bashrc or ~/.profile

$ cat ~/.profile

...

function git () {
    (docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@")
}

...

$ source ~/.profile

for example, if you need clone this repository, with the function you just set, you can run it as local command

git clone https://github.com/alpine-docker/git.git

Optional usage 2:

alias git="docker run -ti --rm -v $(pwd):/git -v $HOME/.ssh:/root/.ssh alpine/git"

NOTES:

  • You need redefine (re-run) the alias, when you switch between different repositories
  • You need run above alias command only under git repository's root directory.

Demo

$ cd application
$ alias git="docker run -ti --rm -v $(pwd):/git -v $HOME/.ssh:/root/.ssh alpine/git"
$ git clone git@github.com:YOUR_ACCOUNT/YOUR_REPO.git
$ cd YOUR_REPO
$ alias git="docker run -ti --rm -v $(pwd):/git -v $HOME/.ssh:/root/.ssh alpine/git"
# edit several files
$ git add . 
$ git status
$ git commit -m "test"
$ git push -u origin master

The Protocols

Supports git, http/https and ssh protocols.

Refer: Git on the Server - The Protocols

Automation builds

Set Travis CI to run builds every month.

  • build on latest alpine image
  • build with latest git in the alpine image
  • generate new tag for this image
  • generate git's version as image tag as well (v${GIT_VERSION})
  • update latest tag for this image