zoukankan      html  css  js  c++  java
  • docker 常用命令记录

    关于Dockerfile文件,推荐 这篇博客 https://www.cnblogs.com/jsonhc/p/7767669.html

    基础命令

    • 镜像
    拉取镜像:
    docker  pull   nginx                       拉取最新镜像 latest
    docker  pull   nginx:1.17.0            拉取指定版本镜像
    
    查看镜像:
    docker images                              查看镜像列表
            
    查找镜像:
    docker search httpd                        
    
    运行镜像:
    docker run -t -i nginx:1.17.0 /bin/bash                    以镜像nginx1.17为蓝本,运行一个容器,并进入终端,并执行 yum -y update,升级yum
            
    更新镜像:
    docker commit -m="yum  has update" -a="lz" e278efb69851 lizheng/nginx:v2           为升级了yum的容器创建一个副本,也就是创建一个新的镜像   -m:提交的描述信息   -a:指定镜像作者
    
    构建镜像:(需要Dockerfile文件)
                    
           Dockerfile文件内容如下
           runoob@runoob:~$ cat Dockerfile 
           FROM    centos:6.7
           MAINTAINER      Fisher "271648298@qq.com"
    
           RUN     /bin/echo 'root:123456' |chpasswd
           RUN     useradd lizheng
           RUN     /bin/echo 'lizheng:123456' |chpasswd
           RUN     /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local
           EXPOSE  22
           EXPOSE  80
           CMD     /usr/sbin/sshd -D
    
    每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
    
    第一条FROM,指定使用哪个镜像源
    
    RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。
    
    然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。
            
    docker build -t lizheng/centos:6.7 .                                 (注意:命令最后有一个点,代表当前目录)
    
    -t :指定要创建的目标镜像名
    
     . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
    
    镜像标签:
    docker tag e60c235d2qfe  lizheng/centos:dev
    
    删除镜像:  
            
    docker rmi   e60c235d2qfe                                                                   删除指定镜像,指定ID或者镜像名称  
    docker rmi `docker images -q`                                                              删除所有镜像              
    docker rmi --force `docker images | grep doss-api | awk '{print $3}'`    删除镜像,其中doss-api为关键字
            
    
    
    • 容器 指明容器时一般用容器ID或容器名称都可以。
    查看容器
    docker  ps                                    查看运行的容器
    docker  ps  -a                               查看所有的容器(包括已经停止的)
    docker ps -l                                  查看最后创建的一个容器
            
    
    docker port bf08b7f2cd89           查看宿主机和容器的端口映射(前者是宿主机,后者是容器端口)
    docker top  my_nginx                  查看容器内部运行的进程
    docker logs -f bf08b7f2cd89        查看容器内部的标准输出。
    docker inspect  容器                    查看容器底层信息,它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
    
    进入容器:
    sudo docker exec -it 775c7c9ee1e1 /bin/bash           推荐这种方式,除此之外还有docker attach、  ssh 、nsenter等方式  
      
    删除容器
    docker rm                                    容器ID (容器名称)
    docker rm `docker ps -a -q`         删除所有容器
        
    启动容器:
    docker start     my_nginx             启动一个已经停止的容器
    docker restart    my_nginx           重启一个正在运行的容器 
        
    停止容器:
    docker stop  my_nginx                停止一个正在运行的容器
    
    • 运行一个容器
    docker run --name lizheng-nginx -p 8803:80 -d     -v /lizheng/test/nginx/www:/usr/share/nginx/html:ro     -v /lizheng/test/nginx/conf/conf.d:/etc/nginx/conf.d:ro     --link myphp-fpm:php     nginx:v1.17.0
    
    运行nginx容器,并启动, -v 是挂载卷。 --link是连接nginx和php, 最后的nginx:v1.17.0是镜像
    docker run --name test-nginx -d -p8081:80 nginx:v1.17.0 /usr/local/nginx/sbin/nginx -g "daemon off;"
    docker run --name nginx8083 -p 8083:80 -d nginx
    
    
    
    • 查看挂载卷地址
    docker inspect redis-slave2 | grep Mount -A 20
    
  • 相关阅读:
    SQL语句:Mac 下 处理myql 不能远程登录和本地登录问题
    react中触发事件实现路由跳转
    Sass代码重用----Sass继承
    react实现点击选中的li高亮
    React中通过状态控制元素显示隐藏的三种方法
    React 页面加载后自动执行onClick事件
    formdata实现图片上传
    formdata实现图片上传
    适用于Ant design的省市区联动JSON数据
    react.js
  • 原文地址:https://www.cnblogs.com/lz0925/p/10918594.html
Copyright © 2011-2022 走看看