欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker常用命令汇总

程序员文章站 2024-03-11 17:37:13
...

Docker Daemon 相关命令

查看当前docker版本号

docker --version

查看Docker系统信息,包括镜像数和容器数

docker info

设置Docker开机启动

systemctl enable docker

启动Docker

service docker start

重启Docker

systemctl restart docker

重启守护进程

systemctl daemon-reload  

卸载Docker软件包

sudo yum -y remove docker-engine

删除Docker本地产生的数据(镜像,容器,卷及自定义的配置文件)

sudo rm -rf /var/lib/docker

Docker Images 相关命令

docker search 搜索镜像:搜索存放在Docker Hub中的镜像。

docker search 

   	命令格式:

   		docker search [OPTIONS] TERM

   			--automated	false	只列出自动构建的镜像
   			--filter, -f		根据指定条件过滤结果
   			--limit	25	搜索结果的最大条数
   			--no-trunc	false	不截断输出,显示完整的输出
   			--stars, -s	0	只展示Star不低于该数值的结果

   	示例:

   		docker search java

   		NAME                    DESCRIPTION                STARS     OFFICIAL   AUTOMATED
   		java                    Java is a concurrent, ...   1281      [OK]       
   		anapsix/alpine-java     Oracle Java 8 (and 7) ...   190                  [OK]
   		isuper/java-oracle      This repository conta ...   48                   [OK]
   		lwieske/java-8          Oracle Java 8 Contain ...   32                   [OK]
   		nimmis/java-centos      This is docker images ...   23                   [OK]

   		① NAME:镜像仓库名称。

   		② DESCRIPTION:镜像仓库描述。

   		③ STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的Stars。

   		④ OFFICAL:表示是否为官方仓库,该列标记为[OK]的镜像均由各软件的官方项目组创建和维护。由结果可知,java这个镜像仓库是官方仓库,而其他的仓库都不是镜像仓库。

   		⑤ AUTOMATED:表示是否是自动构建的镜像仓库。

docker pull 下载镜像 命令即可从Docker Registry上下载镜像。

	docker pull

	docker pull [OPTIONS] NAME[:TAG|@DIGEST]

	--all-tags, -a	false	下载所有标签的镜像
	--disable-content-trust	true	忽略镜像的校验

	docker pull java

	docker pull reg.itmuch.com/java:7  该命令还可指定想要下载的镜像标签以及Docker Registry地址

docker images 列出镜像[重要]

	使用docker images 命令即可列出已下载的镜像。

	该表格包含了5列,含义如下:

		① REPOSITORY:镜像所属仓库名称。

		② TAG:镜像标签。默认是latest,表示最新。

		③ IMAGE ID:镜像ID,表示镜像唯一标识。

		④ CREATED:镜像创建时间。

		⑤ SIZE:镜像大小。

	命令格式:

		docker images [OPTIONS] [REPOSITORY[:TAG]]

		--all, -a	false	列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
		--digests	false	显示摘要信息
		--filter, -f		显示满足条件的镜像
		--format		通过Go语言模板文件展示镜像
		--no-trunc	false	不截断输出,显示完整的镜像信息
		--quiet, -q	false	只显示镜像ID

		docker images java

docker rmi 删除本地镜像[重要]

	docker rmi

		--force, -f	false	强制删除
		--no-prune	false	不移除该镜像的过程镜像,默认移除

docker rmi java

docker rmi -f $(docker images)

docker tag 设置镜像标签

我们可以使用 docker tag 命令,为镜像添加一个新的标签。

[email protected]:~$ docker tag 860c279d2fec runoob/centos:dev

docker tag 镜像ID,这里是 860c279d2fec ,用户名称、镜像源名(repository name)和新的标签名(tag)。

Docker Container 相关命令

docker run 新建并启动一个容器

docker :Docker的二进制执行文件
 run:与docker 组合使用
-d 后台运行
-p 随机端口映射
-p 指定端口映射 (以下四种格式)
ip:hostPort:containerPort

			ip::containerPort

			hostPort:containerPort

			containerPort

		-network 指定网络模式

			–network=bridge: 默认选项,表示连接到默认的网桥。

			–network=host:容器使用宿主机的网络。

			–network=container:NAME_or_ID:告诉Docker让新建的容器使用已有容器的网络配置。

			–network=none:不配置该容器的网络,用户可自定义网络配置。

-i 以交互模式运行容器,通常与 -t 同时使用;
 -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

		示例:

			docker run java /bin/echo 'Hello World'  及运行一个java镜像容器,并在容器里执行 /bin/echo 'Hello World'

			docker run -d -p 91:80 nginx   (-p 宿主机端口:容器端口   # 开放容器端口到宿主机端口 ) 访问http://Docker宿主机IP:91

若自定义了版本号 需要在名称后追加版本号(默认latest) spring-cloud-docker:0.0.1

		TIPS
			需要注意的是,使用docker run命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像,Docker就会自动从Docker Hub下载镜像并启动一个Docker容器。

docker create 新建一个容器但不启动 用法同docker run

docker ps 列出容器

			-a 列出所有容器,包括已经停止的

			表格含有七列

				① CONTAINER_ID:表示容器ID。

				② IMAGE:表示镜像名称。

				③ COMMAND:表示启动容器时运行的命令。

				④ CREATED:表示容器的创建时间。

				⑤ STATUS:表示容器运行的状态。Up表示运行中,Exited表示已停止。

				⑥ PORTS:表示容器对外的端口号。

				⑦ NAMES:表示容器名称。该名称默认由Docker自动生成,也可使用docker run命令的–name选项自行指定

			命令格式

				docker ps [OPTIONS]

				--all, -a	false	列出所有容器,包括未运行的容器,默认只展示运行的容器
				--filter, -f		根据条件过滤显示内容
				--format		通过Go语言模板文件展示镜像
				--last, -n	-1	显示最近创建n个容器(包含所有状态)
				--latest, -l	false	显示最近创建的容器(包含所有状态)
				--no-trunc	false	不截断输出
				--quiet, -q	false	静默模式,只展示容器的编号
				--size, -s	false	显示总文件大小

docker logs 查看容器控制台信息

docker logs CONTAINER_ID

-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出

docker inspect 查看容器/镜像的元素据

docker inspect [OPTIONS] NAME|ID [NAME|ID…]

 -f :指定返回值的模板文件。
 -s :显示总的文件大小。

-type :为指定类型返回JSON。

docker stop 停止容器

			命令格式:

				docker stop [OPTIONS] CONTAINER [CONTAINER...]

				-t  10   强制杀死容器前等待时间,单位秒

				docker stop 784fd3b294d7		(其中784fd3b294d7 是容器ID,当然也可使用docker stop 容器名称 来停止指定容器。)

docker kill 强制停止容器

		docker kill

			命令格式:

				docker kill [OPTIONS] CONTAINER [CONTAINER...]


				docker kill 784fd3b294d7

docker start 启动已停止的容器

		使用docker run 命令,即可新建并启动一个容器。对于已停止的容器,可使用docker start 命令来启动。

		docker start

			命令格式:

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

				--attach, -a	false	连接STDOUT/STDERR并转发信号
				--checkpoint		从该检查点还原
				--checkpoint-dir		使用自定义的检查点存储目录
				--detach-keys		覆盖断开容器的关键顺序
				--interactive, -i	false	连接容器的STDIN

				docker start 784fd3b294d7

docker restart 重启容器

		docker restart   === docker stor + docker start

docker nsenter 进入容器

找到容器进程的第一个PID
docker inspect --format “{{.State.Pid}}” 7bdb3998d44a

 根据PID进入容器
nsenter --target 73636 --mount --uts --ipc --net --pid

docker rm 删除容器

		使用docker rm 命令即可删除指定容器。前提是容器必须是停止运行的。

		docker rm [OPTIONS] CONTAINER [CONTAINER...]

		--force, -f	false	通过SIGKILL信号强制删除正在运行中的容器
		--link, -l	false	删除容器间的网络连接
		--volumes, -v	false	删除与容器关联的卷

docker cp 用于容器与主机之间的数据拷贝

		从主机往容器中拷贝

docker cp /www/runoob 容器ID:/www/
将容器中文件拷往主机

docker cp 容器ID:/www /tmp/