2.docker基础命令
2018-01-23 本文已影响0人
不安分的情绪
version
查看docker版本
[root@docker-daemon ~]# docker --version
Docker version 1.12.6, build ec8512b/1.12.6
search
查找一个镜像
[root@docker-daemon ~]# docker search centos
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/centos The official build of CentOS. 3974 [OK]
pull
下载镜像
[root@docker-daemon ~]# docker pull centos
[root@docker-daemon ~]# docker pull centos:6
[root@docker-daemon ~]# docker pull busybox:latest
images
显示本地镜像
[root@docker-daemon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest f2a91732366c 9 weeks ago 1.848 kB
run
启动容器
交互模式启动
[root@docker-daemon ~]# docker run -it --name box1 busybox:latest
/ # pwd
Tip:脱离当前终端:先
Ctrl + p
,在Ctrl + q
,容器不会关掉
ps
查看当前系统运行中的容器
[root@docker-daemon ~]# docker ps
[root@docker-daemon ~]# docker ps -a //所有容器
attach
连接运行中的容器
[root@docker-daemon ~]# docker attach box1
Tip:使用多个窗口attach到同一个容器时,所有的窗口都会同步。当某个窗口因命令堵塞时,其他窗口也无法操作了。
rm
删除一个容器
[root@docker-daemon ~]# docker rm $(docker ps -a -q)
//删除所有停止的容器
Tip:停止一个容器不会自动删除,除非我们在启动是加上了
-rm
选项
kill
杀死运行中的容器
[root@docker-daemon ~]# docker kill $(docker ps -a -q) //杀死运行中的所有容器
save
导出镜像
[root@docker-daemon ~]# docker save dengyou/centos:net-tools -o centos-net.tar
load
导入一个镜像到另一台机器上
[root@docker-client ~]# docker load -i centos-net.tar
Loaded image: dengyou/centos:net-tools
Tip:通过save和load命令,我们可以使用ftp来做docker registry 仓库来使用
rmi
删除镜像
[root@docker-daemon ~]# docker rmi $(docker images -q) //删除所有镜像
nsenter命令
nsenter命令可以访问另一个进程的名字空间。
[root@docker-daemon ~]# yum install -y util-linux //安装软件包
[root@docker-daemon ~]# docker run -it --rm --name box1 busybox:latest
[root@docker-daemon ~]# docker inspect -f "{{.State.Pid}}" box1 //获取容器的pid
4368
[root@docker-daemon ~]# nsenter -t 4368 -u -n -p //连接进入容器
[root@ab3d821b7c54 ~]# ifconfig |awk '/broadcast/{print $2}'
172.17.0.2
[root@ab3d821b7c54 ~]# exit //退出容器
logout
我们也可以将上面的编写成脚本,快速进去容器
#!/bin/sh
PID=$(docker inspect --format "{{.State.Pid}}" $1)
nsenter -t $PID -u -i -n -p
执行脚本是将docker id或者name作为$1参数传入即可。
help文档
# docker --help
Usage:
docker [OPTIONS] COMMAND [arg...]
docker daemon [ --help | ... ]
docker [ --help | -v | --version ]
A self-sufficient runtime for containers.
Options:
--config=~/.docker Location of client config files #客户端配置文件的位置
-D, --debug=false Enable debug mode #启用Debug调试模式
-H, --host=[] Daemon socket(s) to connect to #守护进程的套接字(Socket)连接
-h, --help=false Print usage #打印使用
-l, --log-level=info Set the logging level #设置日志级别
--tls=false Use TLS; implied by--tlsverify #
--tlscacert=~/.docker/ca.pem Trust certs signed only by this CA #信任证书签名CA
--tlscert=~/.docker/cert.pem Path to TLS certificate file #TLS证书文件路径
--tlskey=~/.docker/key.pem Path to TLS key file #TLS密钥文件路径
--tlsverify=false Use TLS and verify the remote #使用TLS验证远程
-v, --version=false Print version information and quit #打印版本信息并退出
Commands:
attach Attach to a running container #当前shell下attach连接指定运行镜像
build Build an image from a Dockerfile #通过Dockerfile定制镜像
commit Create a new image from a container's changes #提交当前容器为新的镜像
cp Copy files/folders from a container to a HOSTDIR or to STDOUT #从容器中拷贝指定文件或者目录到宿主机中
create Create a new container #创建一个新的容器,同run 但不启动容器
diff Inspect changes on a container's filesystem #查看docker容器变化
events Get real time events from the server#从docker服务获取容器实时事件
exec Run a command in a running container#在已存在的容器上运行命令
export Export a container's filesystem as a tar archive #导出容器的内容流作为一个tar归档文件(对应import)
history Show the history of an image #展示一个镜像形成历史
images List images #列出系统当前镜像
import Import the contents from a tarball to create a filesystem image #从tar包中的内容创建一个新的文件系统映像(对应export)
info Display system-wide information #显示系统相关信息
inspect Return low-level information on a container or image #查看容器详细信息
kill Kill a running container #kill指定docker容器
load Load an image from a tar archive or STDIN #从一个tar包中加载一个镜像(对应save)
login Register or log in to a Docker registry#注册或者登陆一个docker源服务器
logout Log out from a Docker registry #从当前Docker registry退出
logs Fetch the logs of a container #输出当前容器日志信息
pause Pause all processes within a container#暂停容器
port List port mappings or a specific mapping for the CONTAINER #查看映射端口对应的容器内部源端口
ps List containers #列出容器列表
pull Pull an image or a repository from a registry #从docker镜像源服务器拉取指定镜像或者库镜像
push Push an image or a repository to a registry #推送指定镜像或者库镜像至docker源服务器
rename Rename a container #重命名容器
restart Restart a running container #重启运行的容器
rm Remove one or more containers #移除一个或者多个容器
rmi Remove one or more images #移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除)
run Run a command in a new container #创建一个新的容器并运行一个命令
save Save an image(s) to a tar archive#保存一个镜像为一个tar包(对应load)
search Search the Docker Hub for images #在docker
hub中搜索镜像
start Start one or more stopped containers#启动容器
stats Display a live stream of container(s) resource usage statistics #统计容器使用资源
stop Stop a running container #停止容器
tag Tag an image into a repository #给源中镜像打标签
top Display the running processes of a container #查看容器中运行的进程信息
unpause Unpause all processes within a container #取消暂停容器
version Show the Docker version information#查看容器版本号
wait Block until a container stops, then print its exit code #截取容器停止时的退出状态值
Run 'docker COMMAND --help' for more information on a command. #运行docker命令在帮助可以获取更多信息