【运维笔记】docker

Docker

## 简介
    一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

## Rootless mode
    以非root模式启动

## live restore
    docker进程退出时容器不停止
    
    ### 方法一:/etc/docker/daemon.json
    {"live-restore": true}
    systemctl reload docker
    
    ### 方法二:/usr/lib/systemd/system/docker.service
    ExecStart 后面加上 --live-restore  
    
    ### 不能用于集群模式
    docker-compose启用的容器请求超时,docker-compose down 命令报错
    
## 核心概念:
    镜像(image)、容器(container)、仓库(Repository)

镜像仓库(registry)

## 公共镜像源(/etc/docker/daemon.json)
    "registry-mirrors":["http://10.8.8.143"]
    #"registry-mirrors": ["http://hub-mirror.c.163.com"]

## 设置信任的镜像仓库(daemon.json)
    "insecure-registries":["http://10.8.8.143"]

## 创建私有仓库
    docker pull registry
    docker run -dit --name local_registry -p 5000:5000 -v /data/registry:/var/lib/registry registry

    ### 查看私有仓库中的镜像
        curl localhost:5000/v2/_catalog
    
    ### 搭建私有仓库Harbor

Docker 镜像(image)

## 镜像搜索
docker search NAME[:TAG]	##不指定标签(TAG),则会默认选择latest标签,即最新版的镜像。

## 拉取镜像
docker pull NAME[:TAG]
docker pull registry/NAME[:TAG]

## 上传镜像
docker push NAME[:TAG]
docker push registry/NAME[:TAG]

## 列出本地镜像
docker image ls -a

## 删除本地镜像(镜像没有被容器使用)
docker image rm [image_name]
	-f 强制删除

## 镜像重命名
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

## 导出镜像
docker save -o file_name image_name  ##保留完整记录

## 导入镜像
docker load < file_name

## 创建镜像
1、根据已有容器创建
	docker commit [container_name] [REPOSITORY:TAG]

2、从文件模板导入
	docker import - [image_name]:[TAG]

3、dockerfile创建
dockerfile 是一个文件
docker build dockerfile
	docker build -f path/to/dockerfile_name -t image_name:tag .
	#  docker build 最后的 . 号,是在指定镜像构建过程中的上下文环境的目录

Docker 容器(Container)

## 查看容器
	docker ps -a

## 查看容器资源占用状态
	docker stats

## 创建容器
docker run [option] image_name command
	### 参数
	-P	自动映射容器所有端口到本地随机端口
	-p	端口映射(本地端口:容器端口) 多个-p映射多个端口
	-d	进入后台运行
	-i  交换式操作
	-t	终端
	
	### 容器获取root权限,执行systemctl命令等
	--privileged  # 赋予容器扩展权限,需要/usr/sbin/init
		# docker run -dit --privileged image_name /usr/sbin/init
		# dockerfile指定 CMD ["/usr/sbin/init”]

	--name	自定义容器名
	--rm 容器退出后立即删除
	-b  挂载指定的网桥
	--ip-forward=true/false  是否开启转发功能
	--dns  指定DNS服务器
	-h 配置容器hostname
	-ip  指定容器ip
	--net=bridge/host/none  配置容器的桥接模式
	-v/--mount 挂载目录

## 启动容器
	docker start container_name

## 终止容器
	docker stop container_name
	
## 查看容器日志
	docker logs container_name

## 查看容器所有信息
	docker container inspect [container_name]

## 进入容器
	docker exec	[option] [container] [command]
    -u root # 以root用户进入容器
	
## 删除容器
	docker rm container_name
	
## 清理所有处于静止状态的容器
	docker prune

## 导入导出容器(import export)				##保留容器当时的快照状态
	docker export container_name > file_name

## 文件拷贝
	docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
	docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值