User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • 交换机
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   docker   ›   正文
docker

docker基础和常用操作-容器

2022-10-28 23:33:24
637  0 0

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 stop `docker ps -a -q`
删除所有的镜像
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)
更改容器端口映射
重建 重新创建容器 
修改配置文件
    打开主机文件 /var/lib/docker/containers/49xxx/hostconfig.json 
    修改  PortBindings PortBindings:{80/tcp:[{HostIp:\,HostPort:10001}]} 
    #80 容器内端口 10001 主机端口 
    systemctl restart docker 缺点是需要重启整个docker服务 
docker commit新构镜像
评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
213 文章 2 评论 202114 浏览
测试
测试