4.Docker技术入门与实战 --- 操作Docker容器

本文介绍了Docker技术的基础知识,包括如何启动、停止和管理Docker容器。通过实例演示,帮助读者掌握Docker容器的日常操作,是Docker初学者的理想入门教程。
摘要由CSDN通过智能技术生成
第4章 操作Docker容器 
	容器是镜像的一个运行实例,不同的是,镜像是静态的文件,而容器是带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态。

4.1 创建容器 
	1.新建容器
		docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

		使用 docker create 命令创建的容器处于 停止状态,可以使用 docker start 命令来启动它。

	2.启动容器
		启动一个已经创建的容器。

		docker start [OPTIONS] CONTAINER [CONTAINER...]

	3.新建并启动容器
		docker run 相当于 docker create 后再接 docker start。

		docker run [OPTIONS] IMAGE [COMMAND] [ARG...]


		利用 docker run 来创建并启动容器时,docker 在后台运行的标准操作包括:
			1.检查本地镜像是否存在,不存在就从公有仓库下载;
			2.利用镜像创建一个容器,并启动该容器;
			3.分配一个文件系统给容器,并在只读的镜像层外挂载一层可读写层;
			4.从宿主主机配置的网桥接口桥接一个虚拟接口到容器中去;
			5.从网桥的地址池配置一个IP地址给容器;
			6.执行用户指定的应用程序;
			7.执行完毕后容器被自动终止。

		
		docker run -it ubuntu:18.04 /bin/bash
		其中,-t 让docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。

		如果某些时候 docker run 出错了,常见的错误码:	
			125:Docker Daemon 执行出错,例如指定了不支持的docker参数;
			126:所指定命令无法执行,例如权限出错;
			127:容器内命令无法找到。

	4.守护态运行
		-d,让容器在后台以守护态的形式运行,启动后会返回一个唯一的id。

	5.查看容器输出
		docker logs [OPTIONS] CONTAINER

4.2 停止容器 
	1.停止容器
		 docker pause CONTAINER [CONTAINER...]

		 docker run --name test --rm -it ubuntu:latest bash
		 docker pause test
		 docker ps -a

	2.终止容器
		docker stop [OPTIONS] CONTAINER [CONTAINER...]

		该命令首先会向容器发送 SIGTERM 信号,等待一段超时时间后(默认为10s),再发送SIGKILL信号来终止容器。

		docker prune 自动清除所有处于停止状态的容器。

		docker kill 直接发送 SIGKILL 信号来强行终止容器。

		docker restart //先停止,再启动

4.3 进入容器 
		在使用 -d 参数的时候,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。这时候如果需要进入操作,推荐使用 attach 或者 exec。

	1.attach 命令
		 docker attach [OPTIONS] CONTAINER

		 然而使用 attach 命令有时候不方便,当多个窗口同时 attach 到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞的时,其他窗口也无法操作。

	2.exec 命令
		docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

4.4 删除容器 
	docker rm [OPTIONS] CONTAINER [CONTAINER...]

	默认情况下,只能删除已经处于终止或者退出状态的容器。-f 可以强行删除。

4.5 导入和导出容器 
		某些时候,需要将容器从一个系统迁移到另外一个系统。

		1.导出容器
			docker export [OPTIONS] CONTAINER

		2.导入容器(变成镜像)
			docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
			docker images

		实际上,既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 命令来导入一个容器快照到本地镜像库。这二者的区别在于:
	容器快照文件将丢失所有的历史记录和元数据信息(即仅保存容器当时的快照信息),而镜像存储文件将保存完整记录,体积更大,从容器快照文件导入时可以重新指定标签
	信息。

4.6 查看容器 
	1.查看容器详情
		docker inspect [OPTIONS] NAME|ID [NAME|ID...]

	2.查看容器内进程
		docker top CONTAINER [ps OPTIONS]

	3.查看统计信息
		 docker stats [OPTIONS] [CONTAINER...]

4.7 其他容器命令 
	1.复制文件
		docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

		//将本地路径data复制到test容器的/tmp下。
		docker cp data test:/tmp/

	2.查看变更
		//查看容器内文件系统的变更
		docker diff CONTAINER

	3.查看端口映射
		//查看容器端口映射
		docker port CONTAINER [PRIVATE_PORT[/PROTO]]

	4.更新配置
		//更新容器运行时的一些配置,主要是一些限制份额
		docker [OPTIONS] COMMAND

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值