zoukankan      html  css  js  c++  java
  • docker命令


    Docker的三大核心概念:镜像、容器、仓库


    镜像:类似虚拟机的镜像、用俗话说就是安装文件。

    容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。

    仓库:类似代码仓库,是Docker集中存放镜像文件的场所。


    一、安装docker

    环境准备
    操作系统:CentOS7以上
    软件源:腾讯云,阿里云都行

    安装依赖,docker依赖于系统的一些必备的工具

    yum install -y yum-utils device-mapper-persistent-data lvm2

    添加软件源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    安装docker

    yum install docker

    启动/重启/停止docker

    service docker start/restart/stop

    查看安装版本

    docker version

    二、docker基本命令

    docker镜像

    docker search xxx (docker search <image>用于搜索线上镜像仓库)

    拉取镜像

    docker pull xxx (docker pull <image>拉取服务器镜像仓库里的镜像)

    查看已有的镜像

    docker images

    删除镜像

    doeker rmi -f <image_id>/<tag>

    配置腾讯云镜像(官方的是国外镜像,速度很慢)

    vi /etc/sysconfig/docker
    OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'

    docker build命令
    Usage: docker build [OPTIONS] PATH | URL | -

      [OPTION] 说明:

    --build-arg=[] :设置镜像创建时的变量;
    --cpu-shares :设置 cpu 使用权重;
    --cpu-period :限制 CPU CFS周期;
    --cpu-quota :限制 CPU CFS配额;
    --cpuset-cpus :指定使用的CPU id;
    --cpuset-mems :指定使用的内存 id;
    --disable-content-trust :忽略校验,默认开启;
    -f :指定要使用的Dockerfile路径;
    --force-rm :设置镜像过程中删除中间容器;
    --isolation :使用容器隔离技术;
    --label=[] :设置镜像使用的元数据;
    -m :设置内存最大值;
    --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
    --no-cache :创建镜像的过程不使用缓存;
    --pull :尝试去更新镜像的新版本;
    --quiet, -q :安静模式,成功后只输出镜像 ID;
    --rm :设置镜像成功后删除中间容器;
    --shm-size :设置/dev/shm的大小,默认值是64M;
    --ulimit :Ulimit配置。
    --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
    --network: 默认 default。在构建期间设置RUN指令的网络模式

    实例

    1. 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。

    docker build -t runoob/ubuntu:v1 .

    2. 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。

    docker build github.com/creack/docker-firefox

    3. 也可以通过 -f Dockerfile 文件的位置:

    docker build -f /path/to/a/Dockerfile .

    在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:

    docker build -t test/myapp .Sending build context to Docker daemon 2.048 kBError response from daemon: Unknown instruction: RUNCMD

    docker创建容器
    Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    docker run -d --restart=always -p 92009200 --name xinyar_erp_web_test xinyar/erp-web

    [OPTIONS]  说明

    -d, --detach=false 开启Daemon模式 
    -i, --interactive=false 打开STDIN,用于控制台交互 
    -t, --tty=false 分配tty设备,该可以支持终端登录,默认为false 
    -u, --user="" 指定容器的用户 
    -a, --attach=[] 标准输入输出流和错误信息(必须是以非docker run -d启动的容器)
    -w, --workdir="" 指定容器的工作目录 
    -c, --cpu-shares=0 设置容器CPU权重,在CPU共享场景使用 
    -e, --env=[] 指定环境变量,容器中可以使用该环境变量 
    -m, --memory="" 指定容器的内存上限 
    -P, --publish-all=false 指定容器端口映射
    -p, --publish=[] 指定容器端口映射
    -h, --hostname="" 指定容器的主机名 
    -v, --volume=[] 给容器挂载存储卷,挂载到容器的某个目录 
    --volumes-from=[] 给容器挂载其他容器上的卷,挂载到容器的某个目录
    --cap-add=[] 添加权限,权限清单详见:http://linux.die.net/man/7/capabilities 
    --cap-drop=[] 删除权限,权限清单详见:http://linux.die.net/man/7/capabilities 
    --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 指定容器是否为特权容器,特权容器拥有所有的capabilities 
    --restart="no" 指定容器停止后的重启策略:
    no:容器退出时不重启 
    on-failure:容器故障退出(返回值非零)时重启 
    always:容器退出时总是重启 
    --rm=false 指定容器停止后自动删除容器(不支持以docker run -d启动的容器) 
    --sig-proxy=true 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

    查看容器端口映射情况

    docker port con_id

    查看正在运行的容器

    docker ps (参数-a是所有容器,q是进程ID)

    docker容器的启动、重启、停止删除

    docker start <ContainerId>/<name>
    docker restart <ContainerId>/<name>
    docker stop <ContainerId>/<name>
    docker rm $(docker ps -q -a)

    进入docker容器

    docker exec -it <containerID> /bin/bash

    动态查看容器日志

    docker logs <ContainerID>/<name>

    查看docker启动状态(有active (running) 即启动成功)

    service docker status

    docker网络操作
    在主机上创建一个网络

    docker network create mynet

    查看自定义bridge网络

    docker network inspect mynet

    查看docker网络

    docker network ls

    移除网络要求网络中所有的容器关闭或断开与此网络的连接时,才能够使用移除命令

    docker network disconnet mynet 容器ID

    移除网络

    docker network rm mynet

    三、卸载docker

    完全卸载docker

    1、查询docker安装过的包:

    yum list installed | grep docker

    2、卸载

    yum remove docker 
    docker-client 
    docker-client-latest 
    docker-common 
    docker-latest 
    docker-latest-logrotate 
    docker-logrotate 
    docker-selinux 
    docker-engine-selinux 
    docker-engine
    rm -rf /etc/systemd/system/docker.service.d
    rm -rf /var/lib/docker
    rm -rf /var/run/docker
  • 相关阅读:
    selenium 浏览器操作
    selenium 4.0新特性及新旧api对比
    Selenium123介绍
    selenium元素定位(三) css定位方法
    selenium 安装和启动
    Selenium元素定位(一)30+1+5种方式
    软件开发经验收集
    spring+hibernate架构中Dao访问数据库的几种方法
    某励志书4
    PHP的Foreach
  • 原文地址:https://www.cnblogs.com/Zhengnengjin/p/12133193.html
Copyright © 2011-2022 走看看