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)