Docker 常用命令总结

作者: FantJ | 来源:发表于2018-06-03 15:37 被阅读4次

    列出镜像列表

    docker images
    

    获取新的镜像

    docker pull centos:7.0
    

    查找镜像

    docker search httpd
    

    更新镜像

    docker commit -m="提交的信息" -a="作者" e218edb10161 更改后的镜像名
    

    删除镜像

    docker rmi 49c614fbbea8
    
    Error response from daemon: conflict: unable to delete 49c614fbbea8 (must be forced) - image is referenced in multiple repositories
    
    # 这个报错说明它被其他的镜像依赖,所以需要先删除依赖的image
    
    
    [root@FantJ ~]# docker rmi 49c614fbbea8
    Error response from daemon: conflict: unable to delete 49c614fbbea8 (must be forced) - image is being used by stopped container ffd74d6603e0
    
    #这个报错说明它被容器所使用,所以需要先删除容器
    [root@FantJ ~]# docker rm ffd74d6603e0
    ffd74d6603e0
    
    
    #如果发现它被很多个容器占用,就用批量命令
    [root@FantJ ~]# docker rm $(docker ps -a -q)
    27298d317f59
    955bbef03be9
    95889edc40c8
    518eff5fed00
    c0b7ca7b267b
    ce5935dfa127
    63c212771b1e
    906780ebb103
    [root@FantJ ~]# docker rmi 49c614fbbea8
    Untagged: learn/pingtag:latest
    Deleted: sha256:49c614fbbea80b328834ecde9a39d8f5bb812c32851e0e5ae39b514642426984
    Deleted: sha256:1de562b8b13c8b7af429a9072ef19a35e3c9085a202ffee5ed5c8aef4046cad4
    
    

    运行容器

    我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力

    • -t:在新容器内指定一个伪终端或终端。

    • -i:允许你对容器内的标准输入 (STDIN) 进行交互。

    [root@FantJ ~]# docker run -i -t REPOSITORY:TAG /bin/bash
    root@dc0050c79503:/#
    

    REPOSITORY:TAG 表示的是 镜像仓库源:镜像版本标签

    在容器中执行ls
    在完成操作之后,输入 exit命令来退出这个容器

    后台启动

    • -d:让容器在后台启动

    查看正在运行的容器

    [root@FantJ ~]# docker ps
    

    查看容器内控制台打印

    [root@FantJ ~]# docker logs id
    
    docker logs -f 7a38a1ad55c6
    

    跟踪查看日志

    停止容器

    [root@FantJ ~]# docker stop 112f9e089c33
    

    运行容器并设置端口

    docker run -d -p 5000:5000 training/webapp python app.py
    

    容器内部的 5000 端口映射到我们本地主机的 5000 端口上。

    docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
    

    这样我们就可以通过访问127.0.0.1:5001来访问容器的5000端口

    查看 容器端口

    docker port 7a38a1ad55c6
    

    查看容器运行进程

    docker top determined_swanson
    

    构建镜像

    后面章节讲

    设置镜像标签

    docker tag 860c279d2fec fantj/ip-web:1.0
    

    使用本地配置运行nginx镜像

    docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs  -d nginx 
    
    • -p 80:80:将容器的80端口映射到主机的80端口

    • --name mynginx:将容器命名为mynginx

    • -v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www

    • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf

    • -v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs

    进到docker里的某一服务

    docker exec -it id bash
    

    相关文章

      网友评论

        本文标题:Docker 常用命令总结

        本文链接:https://www.haomeiwen.com/subject/pgsjsftx.html