Docker 命令集
attach commit diff export history import insert kill login port
pull restart rmi save start tag version build cp events
help images info inspect load logs ps push rm run
search stop top wait
docker help:
docker help [COMMAND]
例: docker help run
docker version: 显示Docker版本
docker info: 显示Docker信息
docker attach: 挂载正在后台运行的容器到前台
docker attach [OPTIONS] Container
docker run: 在一个新的容器中执行命令 (CTRL-p CTRL-q 退出至后台运行)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
例:
sudo docker run -i -t ubuntu:14.04 /bin/bash 启动一个新的Ubuntu容器
sudo docker run --rm -i -t ubuntu:14.04/bin/bash 建议新手测试加上 -—rm
sudo docker run -i -t --name "private_container" ubuntu:14.04 /bin/bash
docker ps: 列出当前容器
docker ps [OPTIONS]
命令参数:
-a, --all=false 显示所有容器,包括当前没有运行的容器
-f, --filter=[] 按条件过滤容器, 可选的过滤选项:
exited=<int> 容器的返回值
-l, --latest=false 显示最新的一个容器
-n num 显示最新的N个容器
--no-trunc=false 不要截断输出
-q, --quiet=false 仅显示容器ID
-s, --size=false 显示容器大小
例:
docker ps 当前正在运行的容器
docker ps -a 当前正在运行或是停止的容器
docker ps -a -q --no-trunc 获得当前所有容器的ID,不截断输出
docker rm $(echo $(docker ps -q --no-trunc) $(dockerps -a -q--no-trunc) | sed 's|\s|\n|g' |sort | uniq -u)
删除当前不在运行状态的容器ID,也可以把前面改成docker rm
docker images: 列出当前镜像
docker images [OPTIONS] [NAME]
命令参数:
-a, --all=false 显示所有镜像,包括中间生成的临时镜像
-f, --filter=[] 通过标签过滤 (i.e. 'dangling=true')
--no-trunc=false 不要截断输出
-q, --quiet=false 仅显示容器ID
例子:
docker images 显示当前仓库中的镜像
docker images -a 显示当前仓库中的镜像与临时镜像
docker images -a -q --no-trunc 显示当前仓库中的镜像与临时镜像的ID,不截断输出
docker logs: 显示容器的日志
docker logs CONTAINER
命令参数:
-f, --follow=false 等待容器后续的输出(类似 tail -f)
-t, --timestamps=false 显示时间戳
--tail="all"
例:
sudo docker logs 7bb0e258aefe
sudo docker logs --timestamps=true 7bb0e258aefe
sudo docker logs --timestamps=true 7bb0e258aefe > 7bb0e258aefe.log
终端A:
sudo docker logs --follow 7bb0e258aefe
终端B:
sudo docker attach 708cc7ec0f23 (随便执行一些命令可以看到终端A会有实时输出)
docker inspect: 显示镜像或容器的详细信息
docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]
命令参数:
-f, --format="" 选择输出内容,--format="{{.NetworkSettings.IPAddress}}"
例子:
sudo docker inspect 7bb0e258aefe
sudo dockerinspect --format "{{.State.Pid}}" 7bb0e258aefe
docker stop: 停止运行中的容器 (CTRL-d 强制退出, Exited (0))
Docker stop [OPTIONS] CONTAINER [CONTAINER...]
命令参数:
-t, --time=10 杀掉容器进程之前,等待的时间
例子:
sudo docker stop 7bb0e258aefe
docker kill: 杀掉一个运行中的容器 (Exited (-1))
docker kill [OPTIONS] CONTAINER [CONTAINER...]
命令参数:
- s, --signal="KILL" 选择向容器发出的Signal
例子:
sudo docker kill 7bb0e258aefe
docker start: 重启停止的容器
Docker start CONTAINER [CONTAINER...]
命令参数:
-a,--attach=false Attach container'sSTDOUT and STDERR and forward allsignals to the process
-i,--interactive=false Attach container'sSTDIN
例子:
sudo docker start 7bb0e258aefe
docker restart: 重启运行中的容器
d ocker restart [OPTIONS] CONTAINER [CONTAINER...]
命令参数:
-t, --time=10 杀掉容器进程之前,等待的时间
例子:
sudo docker restart 7bb0e258aefe
docker cp: 拷贝容器中的文件
docker cp CONTAINER:PATH HOSTPATH
例子:
docker cp c3f279d17e0a:/home/hyzhou/answer.txt . 将镜像中的/home/hyzhou/answer.txt文件拷贝到当前目录下
docker rm: 删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
命令参数:
-f, --force=false 强制删除容器(使用SIGKILL)
-l, --link=false Removethe specified link and not the underlyingcontainer
-v, --volumes=false Removethe volumes associated with the container
例子:
docker rm my_ubuntu 删除容器
docker rm 708cc7ec0f23 删除容器
docker rm $(docker ps -a -q) 删除所有容器
docker top: 查看容器输出
docker top CONTAINER [ps OPTIONS]
例子:
[ps OPTIONS]的意思是, 你可以在这个命令后面加上使用ps命令时的各种参数
sudo docker top 708cc7ec0f23
sudo docker top 708cc7ec0f23 aux
docker events: 实时监听容器的事件
docker events [OPTIONS]
命令参数:
--since="" 显示某一个时间戳之后的events
--until="" 实时监听到某个时间戳为止
例子:
A终端:
sudo docker events 终端A等待Docker系统信息
sudo docker events --since 1378216169
sudo docker events --since '2013-09-03'
sudo docker events--since '2013-09-03 15:49:29'
sudo docker events --since'2013-09-03 15:49:29 +0200CEST'
sudo docker events > docker.log & 后台记录Docker的容器事件
B终端:
sudo docker restart 708cc7ec0f23 从B终端关闭容器
A终端显示:
2014-09-06T23:08:21+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) die
2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) start
2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) restart
docker history: 显示镜像的历史记录
docker history [OPTIONS] IMAGE
命令参数:
--no-trunc=false 不要截断输出
-q, --quiet=false 仅显示容器ID
docker search: 在Docker Hub上寻找镜像
docker search TERM
命令参数:
--automated=false 使用Github或BitBucket的源代码自动构建
--no-trunc=false 不要截断输出
-s, --stars=0 只显示Star数量超过N的镜像
例子:
docker search --starts=10 ubuntu
docker pull: 从远程拉取镜像
docker pull NAME[:TAG]
例子:
docker pull ubuntu:latest
docker push: 推送镜像到远程仓库
docker push NAME[:TAG]
例子:
docker push hyzhou/ubuntu:3.2.3
docker diff: 列出镜像中文件和目录的变化
docker diff CONTAINER
命令输出: 输出一共有三种
A- Add
D- Delete
C- Change
例子:
diff显示的是镜像和当前运行的容器之间的区别,所以diff的基础是IMAGE
下面例子中的b705fc4f4a50和708cc7ec0f23,内容其实是一样的
sudo docker ps -a
CONTAINERID IMAGE COMMAND CREATED STATUS
b705fc4f4a50 new:latest "/bin/bash" 49 seconds ago Up 49 seconds
708cc7ec0f23 ubuntu:latest "/bin/bash" 9 minutes ago Up 9 minutes
sudo docker diff 7bb0e258aefe
C/root
A/root/new.txt
sudo docker diff b705fc4f4a50
docker commit: 将容器打包成新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
命令参数:
-a, --author="" 作者信息,"John Hannibal Smith <hannibal@a-team.com>"
-m, --message="" 提交信息
-p, --pause=true 在提交镜像时暂停容器
例子:
sudo docker ps
ID IMAGE COMMAND CREATED STATUS
c3f279d17e0a ubuntu:12.04 /bin/bash 7 days ago Up 25 hours
197387f1b436 ubuntu:12.04 /bin/bash 7 days ago Up 25 hours
docker commitc3f279d17e0a Hyzhou/my_ubuntu:3.2.3
docker commit -a "Hyzhou<hyzhou@qq.com>" -m "addthe new software" c3f279d17e0aHyzhou/my_ubuntu:3.2.3
docker images
REPOSITORY TAG ID CREATED VIRTUAL SIZE
Hyzhou/my_ubuntu 3.2.3 f5283438590d 16 seconds ago 335.7 MB
docker build: 使用Dockerfile构建新镜像
docker build [OPTIONS] PATH|URL|-
命令参数:
--force-rm=false 移除构建时生成的中间容器
--no-cache=false Donot use cache when building the image
-q, --quiet=false 不显示容器的输出
--rm=true 构建成功后,移除构建时生成的中间容器
-t, --tag="" 构建成功后,新建镜像的名称
docker tag: 为镜像加上标签
docker tag [OPTIONS] IMAGE[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]
命令参数:
-f, --force=false 强制打上标签?
例子:
sudo docker tag ubuntu:latest hyzhou/my_ubuntu:3.2.3 给ubuntu:latest打上新TAG:hyzhou/my_ubuntu:3.2.3
sudo dockertag eb601b8965b8 ubuntu:latest 给eb601b8965b8镜像打上TAG: ubuntu:latest(会转换原有的TAG指向)
docker save: 将image保存为tar压缩文件
docker save [OPTIONS] IMAGE [IMAGE...]
-o, --output="" 写入到一个文件中作为输出,默认是标准输出流
例子:
docker save --output ubuntu.tar ubuntu:latest 将Ubuntu的最新镜像打包为ubuntu.tar
docker save ubuntu:latest > ubuntu.tar 将Ubuntu的最新镜像打包为ubuntu.tar
docker load: 将tar压缩文件保存为image
Docker load [OPTIONS]
命令参数:
-i, --input="" 读取一个压缩文件作为输入,默认是标准输入流
例子:
docker load --input ubuntu.tar 读取ubuntu.tar作为镜像
docker load < ubuntu.tar 读取ubuntu.tar作为镜像
docker export: 把容器系统文件打包并导出来,方便分发给其他场景使用。
docker export CONTAINER
例子:
sudo docker export my_ubuntu > ubuntu.tar 将Ubuntu的最新镜像打包为ubuntu.tar
docker import: 加载容器系统文件
docker import URL|- [REPOSITORY[:TAG]]
相关推荐
Docker命令合集则包含了一系列与Docker容器技术相关的命令,涉及Docker镜像、容器、网络、数据卷以及Dockerfile的操作。例如,用户可以使用docker build命令构建Docker镜像,使用docker run命令创建和启动容器,利用...
docker command,docker命令合集速查.7z
docker超详细基础教程,关于docker常用的命令。内包含安装文档。
docker常用命令合集,通过图的方式,更加清晰命令
Docker常用命令合集.pdf
内容概要:本文全面解析 Docker 的常用命令,覆盖了基本帮助命令,如版本显示、系统信息展示以及命令查询。接着深入探讨了与镜像关联的各项指令,包含检索镜像列表、在远程仓库查找镜像、拉取特定版本镜像至本地环境...
安装完成后,用户可以通过在命令行中输入docker命令来检查Docker是否正确安装并运行。 安装完成后,Docker Engine会默认在后台作为服务运行,用户可以通过Docker命令行接口(CLI)或Docker Desktop界面与之交互。...
可以通过Docker命令从官方仓库或者自定义仓库拉取JDK 17的镜像,例如: ``` docker pull openjdk:17 ``` 拉取完成后,需要将这个镜像保存为文件,以便在没有网络的环境中使用。可以通过以下Docker命令来保存镜像:...
安装完成后,就可以通过Docker命令来操作MySQL镜像了。具体的步骤通常包括拉取MySQL镜像、创建容器、启动容器以及进入容器内部。Docker提供了一种方便的机制来管理容器的生命周期,包括创建、启动、停止、删除等操作...
本集主要讲如何用docker命令制作镜像并发布运行等系列操作。
在使用Nginx ARM版本Docker镜像时,可以通过Docker命令快速启动、停止和管理容器。Docker的容器化技术保证了应用运行环境的一致性,无论是在开发、测试还是生产环境中。此外,Docker的轻量级特性和虚拟化功能也使得...
在Docker中部署MySQL 8.0镜像时,管理员可以通过配置环境变量来设置root用户的密码以及其他数据库参数,如字符集、时区等。此外,还可以通过卷(volumes)的方式将容器内的数据持久化到宿主机上,确保数据不会因为...
一旦容器运行起来,可以通过Docker命令查看容器日志,确认MongoDB副本集是否正确配置和运行。 此外,Docker-compose还支持版本控制和滚动更新等高级功能,使得容器的管理和更新变得简单高效。在使用过程中,我们也...
创建并配置完docker-compose.yaml文件后,通过运行docker-compose up命令,就可以启动并运行Gorse服务。使用Docker部署Gorse的好处是简化了部署过程,使得开发人员和运维人员都可以快速上手。 部署Gorse推荐系统...
前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名...查看docker容器编码格式:执行locale命令;可以看到当前编码格式为POSIX,而这种编码格式不支持中文 解决办法:locale -a查
然后,将下载的jdk8.tar文件复制到目标服务器上,并通过Docker命令加载镜像,如使用命令“docker load -i jdk8.tar”。加载成功后,用户就可以运行JDK8的Docker容器,并在容器内进行Java应用的开发和部署工作。 ...
可以使用以下命令进行卸载: yum remove docker docker-common docker-selinux docker-engine 3. 更新系统的软件包列表和依赖项,最好去下载阿里云的yum源镜像并且进行更新 yum update 适合人群:以前从来没有安装...
2. **创建存储卷**:你可以通过`docker volume create`命令创建一个存储卷,也可以在运行容器时通过`--volume`或 `-v`选项指定新的或已存在的存储卷。例如,`docker run -v my-volume:/path/in/container`会将名为`...