您的位置:首页 > 运维架构 > Docker

linux系统常用docker 命令

2018-09-30 22:28 113 查看

1.镜像

    docker images  列出本地所有镜像

    

docker search(-s) nginx  搜索相关镜像 加上-s 参数 选出至少start数范围的镜像 

    docker pull(-a) 镜像名:版本号 拉取镜像,-a pull all

    docker push 192.168.0.100:5000/ubuntu      推送镜像库到私有源

    

docker rmi(-f) 镜像名:版本号/镜像ID   删除镜像 (加上 -f 参数 强制删除)

    docker rmi $(docker images -q)  删除所有镜像

    

docker rmi $(docker images | grep "none" | awk '{print $3}') 删除所有名字中带

        “none” 关键字的镜像

    

docker save docker.io
/tomcat
:7.0.77-jre7 >
/root/mytomcat7
.
tar
.gz 导出镜像

    

docker load < 
/root/mytomcat7
.
tar
.gz  导入镜像

  2.容器

    docker ps 查看当前正在运行的容器

    docker inspect name/image[name/image...] 查看详细

    docker ps -a 查看所有容器的状态

    docker start/stop(-t) id/name[name...] 启动/停止某个(多个)容器 -t 指定时间

    docker kill (-s) name[name...] 强制中断 -s指定SIGINT信号类型,默认“kill”

    docker restart (-t) name[name...]  重启 -t 指定时间

    docker pause name 暂停  docker unpause name 继续

    docker rm(-$) name[name...] 移除 

      -f  --force=false  强制移除运行中容器

      -l  --link=false     移除指定链接,保留底层容器

      -v   --volumes=false   移除容器关联卷

    docker commit(-$)name 镜像名:版本号   提交指定容器为镜像

      -a, --author=""     作者

      -m, --message=""     简要说明

      -p, --pause=true    暂停容器再提交

 

    docker logs(-$) name  输出指定容器日志信息

      -f  跟踪日志输出

      -t  显示时间戳 类似 tail -f

      --tail  在日志的末尾输出指定行数日志(默认所有日志)

    docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)

    docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器

            (使用exit退出后容器不停止运行)

    docker run(-$) IMAGE [COMMAND] [ARG...]    运行一个容器

      -d          指定容器运行于前台还是后台,默认为false     

       -i          打开STDIN,用于控制台交互,默认为false  

      -t           分配tty设备,该可以支持终端登录,默认为false   

      -u, --user=""              指定容器的用户   

      -a, --attach=[]            登录容器(必须是以docker run -d启动的容器)  

      -w          指定容器的工作目录  

      -c             设置容器CPU权重,在CPU共享场景使用    

      -e, --env=[]                指定环境变量,容器中可以使用该环境变量   

      -m          指定容器的内存上限    

      -P, --publish-all=false 指定容器暴露的端口    

      -p, --publish=[]           指定容器暴露的端口   

      -h         指定容器的主机名    

      -v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录  

      --volumes-from=[]       给容器挂载其他容器上的卷,挂载到容器的某个目录 

      --cap-add=[]     添加权限

      --cap-drop=[]         删除权限

      --cidfile=""      运行容器后,在指定文件中写入容器PID值,监控系统用法   

      --cpuset=""       设置容器可使用哪些CPU,此参数可以用来容器独占CPU   

      --device=[]           添加主机设备给容器,相当于设备直通   

      --dns=[]                       指定容器的dns服务器   

      --dns-search=[]           指定容器的dns搜索域名,写入到容器/etc/resolv.conf文件   

      --entrypoint=""             覆盖image的入口点   

      --env-file=[]                  指定环境变量文件,文件格式为每行一个环境变量   

      --expose=[]                  指定容器暴露的端口,即修改镜像的暴露端口   

      --link=[]                        指定容器间的关联,使用其他容器的IP、env等信息   

      --lxc-conf=[]                 指定容器的配置文件,只有在指定--exec-driver=lxc时使用   

      --name=""                    指定容器名字,links特性需要使用名字   

      --net="bridge"             容器网络设置:  

                                        bridge 使用docker daemon指定的网桥       

                                        host    //容器使用主机的网络    

                                        container:NAME_or_ID  >

                    //使用其他容器的网路共享IP和PORT等网络资源    

                                        none 容器使用自己的网络(类似--net=bridge)

      --privileged=false         指定容器是否为特权容器,特权容器拥有所有的权限

      --restart="no"               指定容器停止后的重启策略:  

                                         no:    容器退出时不重启    

                                         on-failure:   容器故障退出(返回值非零)时重启   

                                         always:   容器退出时总是重启   

      --rm=false           指定容器停止后自动删除容器(不支持以docker run -d启动的容器)   

      --sig-proxy=true  设置由代理接受并处理信号,SIGCHLD,SIGSTOP和SIGKILL不代

    例:

      docker run -i -t centos6.8 进入到默认的线程”/bin/bash”,直接进入控制台操作

      docker run -i -t -d centos6.8 进入到默认的线程”/bin/bash”,后台运行

      docker run -d --restart=always centos6.8  ping www.docker.com 带命令启动

      docker run -d --name=server-dbcentos6.8-mysql /usr/bin/mysql_safe -d

              容器的名称为server-db,同时激活了数据库mysql的后台线程

      docker run -d --name=server-db -p 3306:3306 -v /server/mysql-data:/

              mysql-datacentos6.8-mysql /usr/bin/mysql_safe –d

              将宿主机的数据库目录/server/mysql-data挂载到server-db上

      docker run -d --name=server-db -p 3306:3306 centos6.8-mysql 

              /usr/bin/mysql_safe –d 服务器宿主机与容器端口映射并暴露

      docker run -d --name=server-http --link=server-db  -p 8080:80centos6.8-httpd

              /usr/bin/httpd --DFOREGROUND

              映射服务器宿主机的8080端口,关联service-db 

      docker run -it --rm  centos6.8  容器进程结束后,立马自动删除

 

  3.docker option

    --api-enable-cors=false           在远程API中启用CORS 头
    -b, --bridge=""                     桥接网络 使用“none” 禁用容器网络
    --bip=""                             网桥模式                                        
    -d, --daemon=false                  守护者模式
    -D, --debug=false                    debug 模式
    --dns=[]                               强制 docker 使用指定 dns 服务器
    --dns-search=[]                     强制 docker 使用指定 dns 搜索域
    -e, --exec-driver="native"         强制 docker 运行时使用指定执行驱动器
    --fixed-cidr=""                      固定IP的IPv4子网(例: 10.20.0.0/16)必须镶套在桥子网

                  中(由-b or --bip定义)                                         
    -G, --group="docker"                当在守护模式中运行时,组指向-H指定的unix套接字。

                  使用""禁用组设置。
    -g, --graph="/var/lib/docker"     容器运行的根目录路径
    -H, --host=[]                           套接字绑定到守护模式。使用一个或多个tcp://主机:端

                  口,unix:///路径/到/套接字,fd://*或fd://socketfd.
    --icc=true                             inter-container跨容器通信
    --insecure-registry=[]                使用指定的注册表启用不安全通信(没有HTTPS的证书验

                  证和启用HTTP回退)(例如,localhost:5000或10.20.0 /16)
    --ip="0.0.0.0"                       绑定容器端口时使用的IP地址
    --ip-forward=true                      使用net.ipv4.ip_forward转发
    --ip-masq=true                          使IP伪装成桥的IP范围
    --iptables=true                     启用Docker添加iptables规则
    --mtu=0                                设置容器网络mtu                            
    -p, --pidfile="/var/run/docker.pid"    指定守护进程pid文件位置
    --registry-mirror=[]                指定一个首选的镜像仓库(加速地址)                 
    -s, --storage-driver=""                强制 docker 运行时使用指定存储驱动
    --selinux-enabled=false             开启 selinux 支持
    --storage-opt=[]                    设置存储驱动选项
    --tls=false                           开启 tls
    --tlscacert="/root/.docker/ca.pem"  只信任提供CA签名的证书
    --tlscert="/root/.docker/cert.pem"      tls 证书文件位置
    --tlskey="/root/.docker/key.pem"     tls key 文件位置
    --tlsverify=false                       使用 tls 并确认远程控制主机
    -v, --version=false                   输出 docker 版本信息

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: