docker各命令学习笔记

docker学习笔记

docker基本命令

  1. 启动docker

    systemctl start docker #启动docker
    systemctl stop docker  #停止docker
    systemctl restart docker #重启docker
    systemctl status docker #查看docker状态 
    
  2. docker自启动

    systemctl enable docker #设置docker开启自启动
    

docker镜像命令

  1. 镜像

    1. docker images 查看本机上的镜像 镜像也可以分层
    2. docker images xxx 搜索本机镜像
    3. docker images pull 镜像名 下载
  2. docker run -it --name mycentos centos:TAG +各种参数

    run是从镜像中启动一个新的容器,需要配置一些参数
    docker run -it centos 新从镜像中创建运行一个容器

  3. docker ps 列出当前正在运行的容器 docker ps -a 列出所有的容器

  4. 删除镜像

    • 删除单个: docker rmi -f + 镜像id
    • 删除多个: docker rmi -f 镜像名:TAG 镜像名2:TAG
    • 删除全部: docker rmi -f $(docker images -qa) #危
  5. docker system df #查看镜像/容器/数据卷所占的空间

docker容器命令

  1. 创建容器

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]   
    
    --name="容器新名字"       #为容器指定一个名称;
    -d: #后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
    	后台守护,比如redis mysql  后台启动放着就行了 不需要前台交互
    	不然容易被关闭 不让进去
    -i:#以交互模式运行容器,通常与 -t 同时使用;
    -t:#为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    	#也即启动交互式容器(前台有伪终端,等待交互);
    	可以在挂着 可以和前台交互
    -P: #随机端口映射,大写P
    -p: #指定端口映射,小写p
    
  2. 查看容器

    docker ps  #查看正在运行的容器
    docker ps -a #查看所有容器
    
    -a  # 显示所有的容器,包括未运行的
    -f  # 根据条件过滤显示的内容
    -l  # 显示最近创建的容器
    -n  # 列出最近创建的n个容器
    -q  # 静默模式,只显示容器编号
    -s  # 显示总的文件大小
    --format    # 指定返回值的模板文件
    --no-trunc  # 不截断输出
    
  3. 启动容器

    #start是从已经存在的容器中重新开始启动,不需要配置参数,只需要名称就行
    docker start +容器ID或者容器名称
    
    #重启容器或者重新进入容器、
    docker restart +容器ID或者容器名称 重启容器
    
  4. 设置容器自启动

    • 创建容器时设置
    docker run -d --restart=always --name 设置容器名 使用的镜像
    #(上面命令  --name后面两个参数根据实际情况自行修改)
    # Docker 容器的重启策略如下:
     --restart具体参数值详细信息:
           no        # 默认策略,容器退出时不重启容器;
           on-failure    # 在容器非正常退出时(退出状态非0)才重新启动容器;
           on-failure:3    # 在容器非正常退出时重启容器,最多重启3次;
           always      # 无论退出状态是如何,都重启容器;
           unless-stopped  # 在容器退出时总是重启容器,不考虑在 Docker 守护进程启动时就已经停止了的容器。
    
    • 修改已经有的容器
    #如果创建时未指定 --restart=always,可通过update 命令设置
    docker update --restart=always 容器ID(或者容器名)
    

    注意事项:

    • 用docker自带的–link把多个容器链接在一起,有重启或升级的问题,比如很多容器都依赖于 db 这个容器,然后db容器重启了,重启时docker分配的ip会变,导致其他依赖于db的容器都要重启。
    • –link 链接的容器还有启动顺序的问题, 需要先启动db容器再启动其他依赖于db的容器, 这样导致 --link和–restart=always 不能一起用, 如果一起用会发现宿主机重启了, docker容器并没有全部重启,因为这时候docker容器是同时被启动的,并不知道启动顺序。
    • 最后决定不用 --link 链接容器了。
      Docker容器开机自动启动(在宿主机重启后或者Docker服务重启后)
  5. 退出容器

    1. exit 容器停止并且退出
    2. Ctrl+P + Q 容器不停止退出 先Ctrl + P 再Q
    docker stop +容器ID  #温柔关闭
    docker kill +容器Id    #直接杀死
    
  6. 查看容器信息(内部细节)

    docker inspect 容器名称或ID

  7. 删除容器

    docker rm +容器id 删除未运行的
    docker rm -f 容器id 强行删除容器
    docker rm -f $(docker ps -qa) 删除所有容器
    docker ps -a -q |xargs docker rm 一次性删除多个容器,参数传给args

  8. 进入容器

    docker attach 容器ID 进入正在运行的容器
    attach早已过时了,因为是公用一个终端,当这个终端被一个容器所占用的时候,这个时候attach 其他容器,就会造成堵塞。

    所以尽量使用exec

    docker exec -it containerID /bin/bash
    docker exec 容器ID
    docker exec 容器ID + 进入的命令 比如ls -l等等 可以远程直接开命令
    exec 是在容器中打开新的终端,并且可以启动新的进程 功能更强大一些

    attach 直接进入容器启动命令的终端,不会启动新的进程
    用exit退出,会导致容器的停止。
    
    exec 是在容器中打开新的终端,并且可以启动新的进程
    用exit退出,不会导致容器的停止。
    
  9. 容器重要命令

    • ​ 启动守护式容器 docker run -d 容器名
    • ​ 查看容器日志 docker logs -t 容器id -t是加上时间 -f打印最新日志 -tail 最后几条、
    • ​ docker attach 容器ID 进入正在运行的容器
    • ​ docker exec 容器ID + 进入的命令 比如ls -l等等 可以远程直接开命令
    • ​ exec 是在容器中打开新的终端,并且可以启动新的进程 功能更强大一些
    • ​ 从容器内部拷贝文件到主机上 :docker cp 容器ID:容器内路径 目的主机路径
  10. 容器备份

    #export 导出容器的内容留作为一个tar归档文件[对应import命令]
    docker export 容器ID > 文件名.tar    #默认导出到当前目录 可以自己选择路径
    
    #import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]  注意-两旁要有空格
    cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
    
  11. docker提交容器到镜像

    docker commit - m="add vim cmd" - a="author" 容器ID 新的容器名称:版本号
    docker commit -m="我的mysql" -a="龙龙" ce33ab3a9e8a lll/mysql5.7:1.0
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙龙龙呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值