docker基础和常用操作-容器

docker容器常用操作

查看本机上存在的所有容器

docker ps -a

查看运行的容器 不截断

docker ps --no-trunc

创建容器

docker create -it xx:xx (新建的容器处于停止状态)

启动容器

docker start xxx(id或者名字)

新建并启动容器

docker run ubuntu(镜像名字)

重启容器

docker restart xxx(id或者名字)

创建并进入容器

docker run -it nginx(镜像名字) /bin/bash

退出容器

ctrl+d 或 exit 退出出错错误码:
·125:Docker daemon执行出错,例如指定了不支持的Docker命令参数;
·126:所指定命令无法执行,例如权限出错;
·127:容器内命令无法找到。

让Docker容器在后台以守护态(Daemonized)形式运行

docker run -d ubuntu(镜像名字)

暂停容器

docker pause nginx

暂停容器恢复运行

docker unpause nginx

终止容器

docker stop idxxxxxx
docker kill(强行终止容器)

当Docker容器中指定的应用终结时,容器也会自动终止

自动清除所有停止状态的容器

docker container prune

获取容器的输出信息

docker logs idxxxxxx
.--details显示更多的信息
.-f, --follow跟踪实时日志
.--since string显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
.--tail string从日志末尾显示多少行日志, 默认是all
.-t, --timestamps显示时间戳
.--until string显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

进入容器

1 docker attach
·--detach-keys[=[]]:指定退出attach模式的快捷键序列,默认是CTRL-p CTRL-q;
·--no-stdin=true|false:是否关闭标准输入,默认是保持打开;
·--sig-proxy=true|false:是否代理收到的系统信号给应用进程,默认为true。
当多个窗口同时用attach命令连到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作

2 docker container exec -it idxxx /bin/bash
3 docker exec -it idxxx /bin/bash
.--detach, -d后台运行模式,在后台执行命令相关命令
.--detach-keys覆盖容器后台运行的一些参数信息
.--env, -e设置环境变量
.-i,--interactive展示容器输入信息STDIN
.--privileged为命令提供一些扩展权限
.--tty, -t命令行交互模式
.--user, -u设置用户名(format: <name|uid>[:<group|gid>])
.--workdir, -w指定容器内的目录

删除容器

docker -rm (只能删除处于终止或退出状态的容器,并不能删除还处于运行状态的容器 ,-f删除运行中的程序)
·-f,--force=false 是否强行终止并删除一个运行中的容器;
·-l,--link=false 删除容器的连接,但保留容器;
·-v,--volumes=false 删除容器挂载的数据卷。

导入容器

docker import test_for_run.tar - test/ubuntu:v1.0
.-c 导入的同时执行对容器的修改的Dockerfile
导入的容器是新的镜像 不是容器状态

导出容器

docker export -o test_for_run.tar ce5

查看容器详情

docker container inspect nginx
#返回json的id time 路径 状态 镜像 配置…

查看容器内的进程
docker top nginx

查看统计信息
docker stats sad_wu
#cpu 存储 网络…

主机和容器之间复制文件

docker cp
.-a打包模式 复制文件会带有原始的uid gid信息
.-L跟随软链接,可复制软链接的目标内容

主机到容器
docker cp /c sad_wu:/
#复制本地/c 到容器/

容器到主机
docker cp sad_wu:/a.txt ./
#复制容器内的/a.txt 到主机

查看容器内文件系统变更

docker container diff xxx

查看端口映射

docker container port xxx

更新配置

docker update … nginx
.--blkio-weight uint16
.--cpu-period int
.--cpu-quota int
.--cpu-rt-period int
.--cpu-rt-runtime intcpu使用份额
.-c, --cpu-shares int
.--cpus decimalcpu个数
.--cpuset-cpus string
.--cpuset-mems string
.--kernel-memory bytes
.-m, --memory bytes内存
.--memory-reservation bytes
.--memory-swap bytes
.--pids-limit int
.--restart string

已存在的容器 设置自启动

docker update --restart=always 容器Id 或 name

容器操作便捷脚本

启动所有的容器命令

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

关闭所有的容器命令

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有的镜像

docker rmi $(docker images | awk '{print $3}' |tail -n +2)

删除所有的容器命令

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除停止的容器

docker rm $(docker container ls -f "status=exited" -q)

删除所有容器

docker rm $(docker container ls -aq)

删除所有创建状态的容器

docker rm $(docker container ls -f "status=created" -q)

posted @ 2022-02-21 15:55  tangshow  阅读(114)  评论(0)    收藏  举报