(学习到实践)二、git-docker仓库的建立

前言

提交到共有云后方便日后直接下载使用,github保存Dockerfile和其它代码文件,docker-hub保存build好的镜像。
[没有账户的要先注册账户:github,docker-hub]

1.Git仓库创建、提交

a.创建云文件目录

登录 https://github.com/ 仓库建立文件夹,如:cffycls/cluster。

b.测试添加文件、提交

点击刚创建的文件夹,进入后可以看到远程添加文件的实例,简单修改如下:

echo -e "# cluster\n"+$(date +"%Y-%m-%d %T") >> README.md
git init
git add README.md
git add php/auto.sh php/Dockerfile php/ext.sh 
git commit -m "first commit"
git remote add origin https://github.com/cffycls/cluster.git
git push -u origin master

输入用户名密码,等待上传完成,删除 ./git 文件可以重新初始化操作。

c.记住git提交所用登录信息

设置参考记住密码

1.在~/下, touch创建文件 .git-credentials, 用vim编辑此文件,输入:
https://{username}:{password}@github.com
注意去掉{}
2.在终端下执行  git config --global credential.helper store
3.可以看到~/.gitconfig文件,会多了一项:
[credential]
helper = store
或查看git config --list

d.提交到github

会用到的git命令:

#检出到本地;同步远程主分支到本地新分支
git checkout -b branch_dev
#切换到主分支
git checkout master
#删除多余分支
git branch -d branch_dev
#添加忽略文件
[]:~/tmp/dk# vim.gitignore
.*
#查看当前编辑状态,有变动的情况
git status 或git branch
#添加,提交修改
git add ext.sh php/Dockerfile start.sh
git commit -m "删除2,修改1"
git push

2.docker仓库创建、提交

a.创建云目录,准备文件

登录 https://hub.docker.com/ 创建:cffycls/redis5。提交查看官方手册。创建 Dockerfile ,本地创建同名镜像 cffycls/redis5:

# redis5.0; Feb 5, 2019 link: https://github.com/docker-library/redis/blob/master/5.0/alpine/Dockerfile
# Base images 基础镜像+阿里源
FROM alpine:3.9
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk update

#MAINTAINER 维护者信息
MAINTAINER cffycls@foxmail.com

# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN addgroup -S redis && adduser -S -G redis redis

RUN apk add --no-cache \
        'su-exec>=0.2' \
        tzdata

ENV REDIS_VERSION 5.0.5
ENV REDIS_DOWNLOAD_URL http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz

ENV REDIS_DEPS 'coreutils gcc linux-headers make musl-dev'

COPY redis-5.0.5.tar.gz /tmp/redis.tar.gz
RUN set -ex; \
    \
    apk add $REDIS_DEPS \
    \
    && cd /tmp && mkdir -p /usr/src/redis\
    # 下载过慢
    # wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL"; \
    && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \
    && rm redis.tar.gz \
    && make -C /usr/src/redis -j "$(nproc)" \
    && make -C /usr/src/redis install \
    && rm -r /usr/src/redis \
    && apk del $REDIS_DEPS \
    \
    && redis-server --version

COPY start.sh /usr/local/bin/
RUN mkdir /data && chown redis:redis /data && chmod +x /usr/local/bin/start.sh
WORKDIR /data

EXPOSE 6379
CMD ['start.sh']

b.push到云端

创建镜像,pull然后登录:

#创建和上传
[]:~/tmp/dk/redis# docker build -t cffycls/redis5:v1.0 .
[]:~/tmp/dk# docker push cffycls/redis5:v1.0
The push refers to repository [docker.io/cffycls/redis5]
... ...

等待上传完成。

    原文作者:沧浪水
    原文地址: https://segmentfault.com/a/1190000019587488
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞