DOCKER简述:命令

发布于 2021-08-16  38152 次阅读


内容纲要

上一篇我们主要讲述了docker是什么以及安装,那么这一篇中,我们将讲述一下docker基本命令。

docker命令主要可以分为以下几类

  • 镜像管理
  • 容器管理
  • 网络管理
  • 存储管理
  • 镜像构建

首先是镜像管理,每一个镜像都是一个运行容器的模板,在讲述docker镜像类命令之前,我们需要先做一些简单的了解。

之前我们说过,构建一个容器需要模板,基于这个模板构建环境,我们将这个模板称为镜像。每个服务都有自己的模板,同时,同一服务不同版本也应该有自己模板,因此我们需要构建一个仓库,用来存放这些的镜像。这个仓库就叫做镜像仓库。当然镜像仓库不可能只有一个,官方的,第三方的,自己私人构建的。。。这些仓库可能存放有同一个服务的镜像。

因此为了解决上述情况,一个镜像文件的命名通常是:

仓库地址/项目名称/服务:标签

HOST/NAMESPACE/NAME:TAG

如果使用的是官方源,第一项会省略,如果是官方项目,那么第二项也会被省略

  • nginx
  • jwilder/nginx-proxy
  • registry.aliyuncs.com/google_containers/etcd

TAG是镜像最重要的一个组成,意味标签,通常来说,标签对应的是版本,latest意味最新

我们可以使用docker image ls 来查看镜像的TAG

常用的镜像管理命令有以下

docker  save IMAGE -o /PATH/TO/FILE #将指定镜像打包为一个tar文件
	load -i /PATH/TO/FILE #从指定文件内加载镜像
	search  [OPTIONS] TEAM #搜索镜像
	pull [OPTIONS] NAME[:TAG |@DIGEST] #下载镜像
		镜像下载保存路径:/var/lib/docker/overlay2/镜像ID
	images [OPTIONS] [REPOSITORY[:TAG]] #查看镜像,与下面的命令相同
	image  ls [OPTIONS] [REPOSITORY[]:TAG] 
	inspect #IMAGE 显示镜像的详细信息
	rmi IMAGE... #删除镜像
	tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] #更改指定镜像的标签
		#TARGET_IMAGE[:TAG]格式一般形式
		#仓库主机FQDN或IP[:端口]/项目名(或用户名)/image名字:版本
		#通常遵循规则才可以上传到指定的仓库

常用的镜像命令之后就是常用的容器命令

docker 	run [OPTIONS] [IMAGE] [shell] [参数]
		选项:
		-i #通常与-t一起使用,-t分配一个终端,-i进入容器
		-d #后台运行,默认前台
		-p list #暴露容器的端口到主机
 
		-h string #容器主机名
		-v --volume=[host-src]container-dest[:<options>]
			ro
			rw
		--rm #容器退出时自动删除
			#从容器退出时,容器将自动停止
			#同时按ctrl+p+q,可以让容器不退出

		--env list #设定环境变量
		--env-file list #设定环境变量文件
		--expose list #设定暴露端口
		--name string #设定容器名称
		--network string #设定使用的网络类型
		--volume list #设定存储卷
	ps	列出容器
		-a --all
		-s --size
		-l --latest
		-q --quiet
	top CONTAINER [ps OPTIONS] #查看容器内进程
	stats [OPTIONS] [CONTAINER...] #显示容器资源使用情况
		-a --all
	rm [OPTIONS] CONTAINER [CONTAINER...] #删除容器
	container rm [OPTIONS] CONTAINER [CONTAINER...] #删除容器
	container prune [OPTIONS] #删除停止的容器
	start | stop | restart | pause | unpause 容器ID #启动,停止,重启,暂停,取消暂停一个容器
	kill [OPTIONS] CONTAINER [CONTAINER...] #杀死指定容器
	exec [OPTIONS] CONTAINER COMMAND [ARG...] #让运行中的容器运行一个额外的程序
		-d 后台运行
		-e 设置环境变量
		-i -t 
		常见用法
		docker exec -it 容器ID sh |bash
			在运行的容器启动新的进程,可移植性单次命令,以及进入容器
			使用exit退出,但容器还在运行
		
	port CONTAINER [PRIVATE_PORT[/PROTO]] 查看容器的端口映射关系
	log [OPTIONS] CONTAINER #查看容器日志
	cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH | -
 #将容器内部SRC_PATH复制到宿主机的DEST_PATH
	cp [OPTIONS] SRC_PATH | -  CONTAINER:DEST_PATH #将宿主机内部的SRC_PATH复制到容器内部的DEST_PATH

在了解容器的基本命令后我们需要对容器在了解一些基本概念

一个容器在创建之后通常可以通过docker ps -a 来查看,一般的来说会有以下属性

  • CONTAINER ID:容器ID
  • IMAGE:使用的镜像
  • COMMAND:内部运行的进程
  • CREATED:创建时间
  • STATUS:容器当前的状态
  • PORTS:容器暴露到外界的端口
  • NAMES:容器名称

另外,一个容器想要处于UP状态,那么容器内部必须运行一个进程,如果该进程退出,那么容器将会停止。通常来说,大部分服务类应用在容器中都是前台运行。

docker容器与镜像的命令主要就是这些,当然可能会有一些遗漏,但常用的基本都有。

下一篇,我们将讲述docker网络,存储。

最后更新于 2021-08-16