Git、Pip、Docker

目录

  1. Git
  2. Pip
  3. Docker

Git

分布式版本管理工具,工作流程:工作区 – 暂存区 – 版本区

安装

Ubuntu
1. 安装依赖包
 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev
2. 安装git
 $ apt-get install git
3. 检测安装
 $ git --version
CentOS
1. 安装依赖包
 $ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel
2. 安装git
 $ yum -y install git-core
3. 检测安装
 $ git --version
Windows

下载对应版本:https://git-scm.com/download
双击下载的exe文件,一直下一步执行安装

源码安装
1. 下载源码包:https://git-scm.com/download
2. 安装指定系统的依赖包:
########## Centos/RedHat ##########
 $ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

########## Debian/Ubuntu ##########
 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

3. 解压安装下载的源码包:
 $ tar -zxf git-1.7.2.2.tar.gz
 $ cd git-1.7.2.2
 $ make prefix=/usr/local all
 $ sudo make prefix=/usr/local install

基础指令

帮助指令
官方文档:https://git-scm.com/docs
菜鸟教程:https://www.runoob.com/git/git-tutorial.html
git help 					- git帮助信息
git cmd --help				- git 指令帮助信息
配置指令
全局配置
git config --global user.name '用户名'			- 配置用户名
git config --global user.email '用户邮箱'		- 配置用户邮箱
注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用

局部配置
git config user.name '用户名'					- 配置用户名
git config user.email '用户邮箱'					- 配置用户邮箱
注:在当前仓库下的config新建用户信息,只能在当前仓库下使用,一个仓库有局部用户,优先使用局部用户,没有配置再找全局用户

git config --list								- 查看配置信息
仓库指令
git init                     	- 初始化当前所在文件夹为本地仓库
git init 仓库名                	- 创建文件夹并初始化该本地仓库
git clone 远程地址				- 从远端仓库下载代码
git remote 						- 查看与远端仓库的远程连接
git remote add 远程名 远程地址	- 与远端仓库建立远程连接
git remote remove 远程名			- 删除与远端仓库的远程连接
git push 远程名 分支名			- 上传代码到远端仓库,上传前先拉代码
git pull 远程名	分支名			- 从远端仓库拉取代码
基本指令
git status                    	- 查看当前状态,工作区未到暂存区为红色,暂存区未到版本区为绿色,工作区和暂存区都无变化为空
git add .                     	- 将更新的数据提交到暂存区,.表示全部,add后跟文件名,指定文件
git commit -m '注释信息'        	- 将暂存区的数据提交到版本区
git log							- 查看历史详细信息版本,回退后只能查看回退版本前的数据
git reflog						- 查看历史简略信息版本,查看所有操作记录
git reset --hard 版本			- 回退到指定版本
git checkout .					- 撤销提交到暂存区的处理,.表示全部,add后跟文件名,指定文件
分支指令
git branch 分支名				- 创建分支
git branch 						- 查看所有分支
git checkout 分支名				- 切换分支
git checkout -b 分支名			- 创建并切换分支
git branch -d 分支名 			- 删除分支
git branch -a 分支名				- 查看远程分支
git merge 分支名					- 合并分支
标签指令
git tag							- 查看所有标签
git tag v1.0					- 创建一个标签
git tag -d v1.0					- 删除一个标签
git show v1.0					- 查看此版本所修改的内容

其他操作


"""生成ssh公私钥"""
cmd内输入:ssh-keygen -t rsa -C "*@*.com"  		# 邮箱随意
在此目录下查看公钥:~/.ssh/id_rsa.pub
在github上设置允许公钥读写权限

"""过滤文件"""
# .gitignore 文件
# 1)在仓库根目录下创建该文件
# 2)文件与文件夹均可以被过滤
# 3)文件过滤语法

过滤文件内容
	文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
	/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
eg:
	a.txt:项目中所有a.txt文件和文件夹都会被过滤
	/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
	/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
	*x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
	空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件

Pip

Pip 是一个通用的 Python 包管理工具

常用指令

帮助文档:指令的选项见官网:https://pip.pypa.io/en/stable/cli
语法:
pip <command> [options]
  
常用指令:
pip install <package>								- 安装指定模块
pip install -r requirements.txt						- 安装某个文件里的所有模块,格式为:模块名==版本(版本可不写,默认为最新版本,每个模块占一行)
pip uninstall <package>								- 卸载指定模块名
pip list											- 显示所有模块
pip freeze > requirements.txt 						- 将所有安装的包倒入requirements文件呢格式为:模块名==版本
pip show <package>									- 查看模块信息

Commands:
  install <package>                    				- 安装指定包
  download <package>              					- 下载指定包
  uninstall <package>                  				- 卸载指定包
  show <package>                      				- 显示指定包详细信息
  check <package>                      				- 检查指定包的依赖关系是否完整
  search                      						- 搜索指定包
  freeze                     						- 按着一定格式输出已安装包列表
  list                        						- 列出已安装包
  config                      						- 管理配置
  wheel                       						- 根据需求创建
  hash                        						- 计算包的hash值 
  completion               							- 辅助命令  
  help                        						- 帮助信息

pip换源

清华大学镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/

"""临时换源"""
pip install 模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple/

"""永久换源"""
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

"""有问题使用以下方法"""
linux: 
修改 ~/.pip/pip.conf (没有就创建一个)

# pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

windows:
直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,在pip 目录下新建文件pip.ini,
或者win+R 打开用户目录%HOMEPATH%,在此目录下创建 pip 文件夹,在 pip 目录下创建 pip.ini 文件,

# pip.ini
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

Docker

Docker 是一个开源的应用容器引擎

安装

CentOS
1. 卸载旧版本的docker
 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
2.安装需要的工具包
 sudo yum install -y yum-utils
3.设置镜像仓库
 sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.更新软件包
 yum makecache fast
5.安装docker引擎
 sudo yum install docker-ce docker-ce-cli containerd.io
6.启动docker
 sudo systemctl start docker
7.检测是否成功
 docker version
8.卸载
 sudo yum remove docker-ce docker-ce-cli containerd.io
 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd
Ubuntu
1. 卸载旧版本
 sudo apt-get remove docker docker-engine docker.io containerd runc
2. 更新软件包
 sudo apt-get update
3. 安装依赖包
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
4. 添加GPG密钥及配置仓库
 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
 sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
5. 安装docker引擎
 sudo apt-get install docker-ce docker-ce-cli containerd.io
6.启动docker
 sudo systemctl start docker
7.检测是否成功
 docker version
8.卸载
 sudo apt-get purge docker-ce docker-ce-cli containerd.io
 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

常用命令

帮助命令
官方文档:https://docs.docker.com/engine/reference/commandline/docker/
菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
docker version				- 显示版本信息
docker info					- 显示系统信息
docker <cmd> --help			- 命令帮助信息
镜像命令
镜像信息:
	REPOSITORY:镜像的仓库源
	TAG:镜像的标签
	IMAGE ID:镜像ID
	CREATED:镜像创建时间
	SIZE:镜像大小
	
cmd:
	docker images  													- 查看主机本地上的镜像
	docker search 镜像												- 搜索镜像
	docker pull	镜像[:tag]											- 下载镜像
	docker rmi 镜像ID												- 删除镜像
	docker tag 镜像ID 镜像名:tag										- 设置标签
	docker commit -m '描述信息' -a '作者' 容器ID 镜像名:tag			- 提交镜像
	docker build -t 镜像名 .											- 构建镜像
	

options:
	docker images
		-a, --all             	- 列出所有镜像
		-q, --quiet           	- 只显示id
		
	docker search 镜像
		-f, --filter filter   	- 过滤
		
	docker rmi 镜像ID
		-a, --all             	- 列出所有镜像
		-q, --quiet           	- 只显示id	
					
	docker build -t 镜像名 .
		-t 镜像名:tag			- 指定镜像名
		-f filename				- 指定dockerfile
		.						- 上下文路径
容器命令
容器信息:
		CONTAINER ID: 容器 ID。
		IMAGE: 使用的镜像。
		COMMAND: 启动容器时运行的命令。
		CREATED: 容器的创建时间。
		STATUS: 容器状态:7种状态(created(已创建)restarting(重启中)running 或 Up(运行中)removing(迁移中)paused(暂停)exited(停止)dead(死亡))
		PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
		NAMES: 自动分配的容器名称。
		
cmd:
	dokcer ps								- 产看所有运行的容器
	docker stats							- 查看容器运行状态
	docker stop 容器ID						- 停止容器
	docker start 容器ID						- 启动容器
	docker restart 容器ID					- 重启容器
	docker rm 容器ID						- 删除容器
	docker kill 容器ID						- 强制停止当前容器
	docker log	容器ID						- 查看容器日志
	docker top 容器ID						- 查看容器进程信息
	docker inspect 容器ID					- 产看容器元信息
	docker exec -it 容器ID /bin/bash 		- 进入容器,新开一个terminal
	docker attach 容器ID					- 进入容器,正在执行的terminal
	docker cp 容器ID:容器内路径 外部路径		- 从容器内copy文件出来
	docker port 容器ID						- 查看容器端口的绑定情况
	dokcer export 容器ID > docker.tar		- 导出容器
	docker import <url路径/文件路径>			- 导入容器
	docker run 镜像							- 创建并运行容器
	docker volume cmd						- 查看数据卷详细信息
	
options:
	dokcer ps
		-a, --all             	- 列出所有镜像
		-q, --quiet           	- 只显示id
		
	docker rm 容器ID
		-f, --force     		- 强制删除
	
	docker volume cmd
		create      			- 创建一个数据卷
  		inspect 数据卷名 		- 查看数据卷元数据   
  		ls          			- 列出所有数据卷

	docker run 镜像 /bin/bash
		--name 'Name'			- 给容器命名
		-d 						- 后台运行
		-it						- 交互式运行,进入容器内
		-p						- 指定容器端口
			-p ip:主机端口:容器端口
			-p 主机端口:容器端口
			-p 容器端口
		-P						- 随机指定端口
		-v 						- 挂载数据卷
			-v 主机目录:容器目录
			-v 容器目录(匿名挂载)
			-v name:容器目录(具名挂载)
			[:ro/:rw]: 挂载权限,ro只读,rw可读可写,默认值
		--volumes-from	容器	- 继承指定容器的数据卷
		--net 网络名				- 指定网络名,默认bridge
		/bin/bash              	- 交互式 Shell, 用的是 /bin/bash

Dockerfile

cmd:
	FROM				- 基础镜像
	MAINTTAINER			- 作者,格式:姓名+邮箱
	RUN					- 构建时运行的指令
	ADD					- 添加的文件
	WORKDIR				- 工作目录
	VOLUME				- 挂载目录
	EXPOSE				- 声明端口
	CMD					- 容器启动时运行的指令,仅最后一个生效,替代命令
	ENTRYPOINT			- 容器启动时运行的命令,追加命令
	ONBUILD				- 被继承时运行的指令
	COPY				- 拷贝文件到镜像
	ENV					- 设置环境变量,镜像内有效
	ARG					- 设置环境变量, 仅dockerfile内有效

FROM
	FROM 镜像
	
RUN
	&& 符号连接命令,减少构建层数
	shell 格式:RUN <命令行命令>
		<命令行命令> 等同于,在终端操作的 shell 命令。
	exec 格式:RUN ["可执行文件", "参数1", "参数2"]
		RUN ["./test.php", "dev", "offline"] 等价于 RUN ./test.php dev offline
		
CMD
	CMD <shell 命令> 
	CMD ["<可执行文件或命令>","<param1>","<param2>",...]
ENTRYPOINT 
	ENTRYPOINT ["<executeable>","<param1>","<param2>",...]
	
COPY
	COPY [--chown=<user>:<group>] <源路径1>...  <目标路径>
	COPY [--chown=<user>:<group>] ["<源路径1>",...  "<目标路径>"]
	压缩包不会自行解压
	
ADD
	ADD  <源文件>
	压缩包会自行解压

ENV
	ENV <key> <value>
	ENV <key1>=<value1> <key2>=<value2>...
	
ARG
	ARG <参数名>[=<默认值>]
	
VOLUME
	VOLUME ["<路径1>", "<路径2>"...]
	VOLUME <路径>
	
EXPOSE
	EXPOSE <端口1> [<端口2>...]
	
WORKDIR
	WORKDIR <工作目录路径>

ONBUILD 
	ONBUILD <其它指令>

Docker网络

docker network
	Commands:
	  connect     使容器与网卡建立连接
	  create      创建网络
	  inspect     查看网络的元信息
	  ls          列出所有网络
	  rm          删除网络

创建网络
docker network create 网络名
	--subnet xxx.xxx.xxx.xxx/xx       	- 指定子网络地址
	--gateway xxx.xxx.xxx.xxx			- 指定网关

删除网络
docker network rm 网络名

查看网络
docker network ls

查看网络元信息
docker network inspect 网路名

网络连通
docker network connect 网络名 容器名

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值