前言
提交到共有云后方便日后直接下载使用,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]
... ...
等待上传完成。