docker基础命令

docker基础命令

/ 0 评 / 0

docker exec -it test01 bash 在容器中运行命令,ctrl+P+Q退出容器
docker info 检查是否正确安装, 显示 Docker 系统信息,包括镜像和容器数
docker version :显示 Docker 版本信息。
docker run -it -v /docker_test:/data —name test01 -d php:lastest
-i:允许我们对容器内的 (STDIN) 进行交互
-t:在新容器内指定一个伪终端或终端
-v:是挂在宿机目录, /docker_test是宿机目录,/yufei是当前docker容器的目录,宿机目录必须是绝对的。
—name:是给容器起一个名字,可省略,省略的话docker会随机产生一个名字
-p: 端口映射,格式为:主机(宿主)端口:容器端口
—dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
-m :设置容器使用内存最大值;
docker ps -a
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
—format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
—no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
docker logs -f test01 查看日志
docker logs —since=”2020-03-01” —tail=10 mynginx 查看容器mynginx从2020年3月1日后的最新10条日志。
docker rm $(docker ps -a -q) 删除所有容器 (运行的要先停止)
docker kill -s KILL mynginx 杀掉容器,-s发送信号
docker pause test01 暂停数据库容器test01提供服务。
docker exec :在运行的容器中执行命令
docker exec -it mynginx /bin/sh /root/runoob.sh 在容器中交互模式运行脚本
docker inspect : 获取容器/镜像的元数据。
docker inspect —format=’{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ test01 获取正在运行的容器mymysql的 IP。
docker top :查看容器中运行的进程信息,支持 ps 命令参数。
docker top mymysql
UID PID PPID C STIME TTY TIME CMD
999 40347 40331 18 00:58 ? 00:00:02 mysqld
查看所有运行容器的进程信息。
for i in docker ps |grep Up|awk '{print $1}';do echo \ &&docker top $i; done

docker attach :连接到正在运行中的容器。 可以带上—sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器
docker attach —sig-proxy=false mynginx 容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。
docker events : 从服务器获取实时事件
-f :根据条件过滤事件;
—since :从指定的时间戳后显示所有事件;
—until :流水时间显示到指定的时间为止;
docker events -f “image”=”mysql:5.6” —since=”1467302400” 显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。 如果时间为日期的话,可以直接使用,如—since=”2016-07-01”。
docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。
docker export :将文件系统作为一个tar归档文件导出到STDOUT。 -o :将输入内容写到文件。
docker export -o mysql-date +%Y%m%d.tar a404c6c174a2 将id为a404c6c174a2的容器按日期保存为tar文件。
docker port mymysql 查看容器mynginx的端口映射情况。
docker commit -a “runoob.com” -m “my apache” a404c6c174a2 mymysql:v1 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
docker cp /www/runoob 96f7f14e99ab:/www/ 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker diff : 检查容器里文件结构的更改。
docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker search -s 10 java 从Docker Hub查找所有镜像名包含java,并且收藏数大于10的镜像
docker images : 列出本地镜像。 -a -q -f
docker rmi -f runoob/ubuntu:v4 强制删除本地镜像runoob/ubuntu:v4。
docker tag : 标记本地镜像,将其归入某一仓库。
docker build -t runoob/ubuntu:v1 . 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。
docker build github.com/creack/docker-firefox 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
docker build -f /path/to/a/Dockerfile . 也可以通过 -f Dockerfile 文件的位置:
docker history runoob/ubuntu:v3 查看本地镜像runoob/ubuntu:v3的创建历史。
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3 将镜像runoob/ubuntu:v3 生成my_ubuntu_v3.tar文档
docker import my_ubuntu_v3.tar runoob/ubuntu:v4 docker import : 从归档文件中创建镜像。
删除images,通过image的id来指定删除谁
docker rmi
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep “^“ | awk “{print $3}”)
要删除全部image的话
docker rmi $(docker images -q)
docker logs -f -t —tail 10 s12 实时查看容器后10条日志
查看容器启动的参数
1,在容器外部,物理机上,可以用docker inspect查看或者,docker inspect container。
2,如果在容器内部。可以用 ps -fe 查看。其中1号进程就是启动命令。
在Docker查看正在运行的容器是通过什么命令启动的:
docker ps -a —no-trunc
k8s部分常用分析命令
kubectl get pods
kubectl delete pods sonarqube-1880671902-s3fdq 删除会重建
kubectl describe pod
kubectl get deployments rc,rs替代版,三者都解决pod即用即焚的问题,一般不会单独用pod。
kubectl delete deployment sonarqube 全部删除
kubectl get rs
kubectl delete rc …
kubectl get svc
kubectl delete svc myweb 删除服务
kubectl create -f nginx-server-nodeport.yaml
kubectl describe service nginx-server-nodeport