镜像操作
build
使用dockerfile方式创建镜像
使用dockerfile文件docker build dockerflle/,dockerfile文件默认位于dockerflle/Dockerfile
可以在这里设置cgroup
commit
通过容器创建本地镜像。注意:如果要push到docker hub中,注意生成镜像的命名。
docker commit 容器id 镜像名
docker commit 536f0efeeef3 centostttt
export
将容器的文件系统打包成tar文件
有两种方式:
docker export -o mysqldb1.tarmysqldb
docker export mysqldb >mysqldb.tar
history
显示镜像制作的过程,相当于dockfile
docker history centostttt
IMAGE CREATED CREATED BY SIZE COMMENT
f2bb8fe139f0 46 minutes ago /bin/bash 1.671MB
8da04c5a9351 56 minutes ago /bin/sh -c #(nop) ENV PWD=/root/ 0 B
77d730816eed 56 minutes ago /bin/sh -c #(nop) ENV PATH=/usr/local/sbin:/ 0 B
3bee3060bfc8 13 days ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 13 days ago /bin/sh -c #(nop) LABEL name=CentOS Base Ima 0 B
<missing> 13 days ago /bin/sh -c #(nop) ADDfile:d22a9c627d1d1f32a8 192.5 MB
images
列出本机的所有镜像
import
根据tar文件的内容新建一个镜像,与之前的export命令相对应
docker import mysqldb.tar mysql:v1
eb81de183cd94fd6f0231de4ff29969db822afd3a25841d2dc9cf3562d135a10
load
与save命令相对应,将sava命令打包的镜像通过load命令导入
pull
从docker hub中下载镜像
push
将本地的镜像上传到docker hub中
前提是要先用docker login登录上,不然会报错误
rmi
删除镜像
save
将镜像打包,与上面的load命令相对应
docker save -o nginx.tar nginx
search
从Docker Hub中搜索镜像
tag
对镜像进行重命名
容器生命周期
attach
将终端依附到容器上
docker attachb7a7c4bef5a5
create
创建一个容器。注意,此时,容器的status只是Created
可以在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等
docker create -c 2(最少2) --cpuset-cpus 0,2 -m 32m --memory-swap 0-w /root/(更换目录) --blkio-weight 10 --dns 114.114.114.114--name nginx8(容器名称) -p 宿主机端口:容器端口 -v 宿主机目录:容器目录--cpu-period 1000 --expose 22 --shm-size 32m -ti centos6:nginx
exec
用于容器启动后,执行其它的任务。
通过exec命令可以创建两种任务:后台型任务和交互型任务
后台型任务:
docker exec -d cc touch 123 其中cc是容器名
交互型任务:
docker exec -i -t cc /bin/bash
ls
123bin boot devetc home liblib64 media mntopt proc rootrun sbin srvsys tmp usrvar
inspect
用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。
docker inspect 容器ID或者容器ID列表
返回一个列表(包含字典)
kill
强制终止容器。
参数-s或--signal string:Signal to send to thecontainer (default "KILL")
logs
用于查看容器的日志,它将输出到标准输出的数据作为日志输出到docker logs命令的终端上。常用于后台型容器
pause
暂停容器内的所有进程,此时,通过dockerstats可以观察到此时的资源使用情况是固定不变的,通过docker logs -f也观察不到日志的进一步输出。
port
查看容器端口与宿主机端口的映射情况
docker port blog
80/tcp -> 0.0.0.0:80
容器blog的内部端口80映射到宿主机的80端口,这样可通过宿主机的80端口查看容器blog提供的服务
ps
列出所有容器,其中dockerps用于查看正在运行的容器,ps -a则用于查看所有容器。
rename
更改容器的名字
restart
重启容器
rm
删除容器,注意,删除一个运行中的容器,必须加-f参数
如果要一次性删除所有容器,可使用docker rm -f `docker ps -a -q`,其中,-q指的是只列出容器的ID
run
让创建的容器立刻进入运行状态,该命令等同于docker create创建容器后再使用docker start启动容器
可以在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等
start
启动容器
stats
动态显示容器的资源消耗情况,包括:CPU、内存、网络I/O
stop
停止一个运行的容器
top
查看容器中正在运行的进程
unpause
恢复容器内暂停的进程,与pause参数相对应
wait
捕捉容器停止时的退出码
执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。
update
Updateconfiguration of one or more containers
升级一个或者多个容器配置,主要是cgroup
容器文件系统
cp
在容器和本地文件系统上拷贝文件【夹】
docker cp [OPTIONS]CONTAINER:SRC_PATH DEST_PATH|-
dockercp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker cp tta49d7ca21839:/root/
docker cpa49d7ca21839:/root/test/ ./
diff
对比容器的文件变化情况
dockerdiff a49d7ca21839
volume
Manage Dockervolumes
其他
events
实时或者指定时间戳输出Docker服务器端的事件,包括容器的创建,启动,关闭等。
info
查看docker的系统信息
login
登录到自己的Dockerregister,需有Docker Hub的注册账号
docker login
Username: ivictor
Password:
Email: xxxx@foxmail.com
WARNING: login credentials saved in /root/.docker/config.json
Login Succeeded
logout
退出登录
docker logout
Remove logincredentials for https://index.docker.io/v1/
version
查看docker的版本
network
Manage Dockernetworks
docker网络管理
node
Manage DockerSwarm nodes
service
Manage Docker services
swarm
Manage DockerSwarm
区别
stop和kill、wait
当用docker stop命令来停掉容器时,docker默认会允许容器中的应用程序有10秒的时间用以终止运行。在docker stop命令执行时,会先向容器中PID为1的进程(main process)发送系统信号SIGTERM,然后等待容器中的应用程序终止执行,如果等待时间达到设定的超时时间,或者默认10秒,会发送SIGKILL的系统信号强行kill掉进程。在容器中的应用程序,可以选择忽略和不处理SIGTERM信号,不过一旦达到超时时间,程序就会被系统强行kill掉,因为SIGKILL信号是直接发往系统内核的,应用程序没有机会去处理它。
默认情况下,dockerkill命令不会给容器中的应用程序有任何gracefully shutdown的机会。它会直接发出SIGKILL的系统信号,以强行终止容器中程序的运行。
docker wait捕捉容器停止时的退出码。执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。
run和create、start
create只是创建容器,没有启动。可以配置cgroup
start是启动容器
run是创建并启动容器,run=create+start。可以配置cgroup
exec和attach
exec
在启动的容器上执行命令,可以分为后台和交互式。
交互式执行类似attach,但退出之后不会结束容器。
attach
在容器上附属一个终端,退出之后可能会结束容器(容器启动命令为/etc/bash)
分享到:
相关推荐
Docker Remote API v1.24的文档可以在Docker官方网站上找到,它提供了详细的API接口说明,帮助你理解如何通过HTTP请求控制Docker。 请注意,开启远程访问可能会带来安全风险,因为任何能够连接到该端口的人都可以...
DC / OS命令行界面 DC / OS命令行界面(CLI)是一个跨平台的命令行实用程序,它提供了一种用户友好但功能强大的方式来管理DC / OS群集。安装及使用如果您是DC / OS的用户,请按照。 否则,请按照以下说明设置您的...
接下来,您可以看看 docker-compose.yml (包含详细配置参数),以及参考 文档 来查看更多信息。 运行 Docker 请用docker-compose来一键启动,甚至不用配置MongoDB和Redis数据库,当然我们推荐这样做。在当前目录中...
CIS Docker 1.12.0 Benchmark v1.0.0 是一份由 Center for Internet Security (CIS) 发布的安全基准文档,旨在提供一套标准化的安全配置指南,帮助用户在部署 Docker 容器时确保其安全性。此版本基准文档适用于 ...
本文档假设您有4台已安装Docker 1.12的机器。 最后,您将构建一个包含以下内容的集群。 VIP(192.168.1.101):用于访问Kubernetes的VIP Machine01(192.168.1.111):Kubernetes Master Machine02(192.168.1....
在本文中,我们将详细讨论如何搭建Hyperledger Fabric 1.4版本的示例环境,并运行相关的应用程序。...在实际操作过程中,可能需要根据具体系统环境进行微调,遇到问题时,查阅官方文档或社区资源可以帮助解决。
而路由网格功能则是Docker 1.12版本引入的内置Swarm模式网络功能,它能够在多个主机间创建一个覆盖网络,无需额外的配置即可实现服务发现和负载均衡。 在管理平面(Management Plane)方面,Docker提供了丰富的接口...
从"ohbotWin-1.12"这个压缩包子文件的名称来看,我们可以推测它包含了ohbotWin项目的源代码、元数据、文档或者其他必要的文件,以供用户下载后进行编译或安装。用户通常需要使用解压工具将其展开,然后利用Python的...
- **官方文档**:Go语言有详尽的官方文档,包括语言规范、标准库和最佳实践,是学习的首选资源。 - **标准库**:Go语言的标准库强大,涵盖了网络、文件操作、并发等多个领域,值得深入研究。 - **社区资源**:Go...