• docker基础篇


    下载,安装

    安装Windows社区版 官网地址:https://store.docker.com/editions/community/docker-ce-desktop-windows?tab=description

    但是官网很慢:推荐这个地址,https://oomake.com/download/docker-windows 很快     //   貌似不行

    再贴一个中文官网  https://www.docker-cn.com/

     概念

    docker镜像 可以创建docker容器 

    docker镜像  好比  类

    docker容器  好比  对象

    容器可以看做一个简易版的Linux环境。

    仓库是集中存放镜像的场所。

    仓库和仓库注册服务器是不一样的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含多个镜像,每个镜像有不同的标签。

    仓库分为私有仓库和公开仓库。

    最大的公开仓库是Docker Hub

    在线安装docker   ,centos6.8版本

    cat /etc/redhat-release        查看linux版本

    yum install -y epel-release   安装docker所需要的库

    yum install docker-io           安装docker

    service docker start         启动docker 

    docker version               查看版本

    配置阿里云镜像加速器

    vim /etc/sysconfig/docker    编辑docker配置文件

    other_args="--registry-mirror=https://你的阿里云.mirror.aliyuncs.com"

    service docker restart  重启

    ps -ef|grep docker     检查是否生效,后面会带着地址。

    hello-world第一个docker程序启动

    docker run hello-world  就ok。docker会在本地找hello-world这个镜像,如果没有,就回去阿里云上仓库拉取到本地,然后启动。

    docker常用的命令

    查看镜像

    docker images    //查看本地的docker镜像

    docker images -a    列出本地所有镜像   包含中间映像层  。

    docker images -q    只显示镜像Id

    docker images --digests    显示镜像的摘要信息

    docker images --digests  --no-trunc   显示完整的镜像信息

    删除镜像

    docker  rmi  hello-world    //正在运行的不能删除,会报错

    docker  rmi  -f  hello-world   // 强制删除

    docker  rmi  -f  hello-world   nginx   // 删除多个

    docker  rmi  -f  $(docker images -qa )  // 全部删除

    启动镜像

    docker run -d  镜像名    以守护进程的方式进行启动   但是docker ps  不会显示启动的docker  这样启动后台会立即关闭,这是docker的特性。你需要这样启动

    docker run -d centos  /bin/sh  -c ''while true ; do echo hello zzyy; sleep 2;done"   这句话的意思是以后台启动但是没个2秒打印一句hello zzyy 这样docker就不会启动就立即关闭了。docker ps就可以查看进程了

    docker run -it --name mydocker 镜像名   给容器起一个别名,并以交互的方式启动

    docker logs -f -t --tail 容器id   -t  时间戳  -f跟随最新的日志打印 --tail  数字,显示最后多少条

    docker inspect 45vajs78689   查看docker容器详细信息  json信息

    docker  attach   容器id    进去docker容器   ------但是会卡住,不知道原因。可以用下面的命令

    docker exec -it containerID /bin/bash   // 进去容器

    docker exec -t 容器id  ls  -l  /tmp   意思是在宿主机不进去容器来操作容器

    docker run -it -p 8888:8080 tomcat    -p   主机端口 :docker容器端口   -P随机分配端口   i:交互  t:终端    docker对外暴露的是8888端口,真正访问的是docker容器的8080端口

    docker run -i -t -v /download:/mnt/software 1f879014f4d2 /bin/bash    将本地的文件挂载到docker中   

    docker run -i -t -v /download:/mnt/software :ro 1f879014f4d2 /bin/bash    将本地的文件挂载到docker中  ,ro的意思容器不能写,只能读

    1. 其中,相关参数包括:  
    2. -i:表示以“交互模式”运行容器  
    3. -t:表示容器启动后会进入其命令行  
    4. -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>   路径要是绝对路径

    docker start  容器Id    启动之前退出的容器

    退出容器

    exit  容器停止退出       或者  Ctrl+d

    ctrl+p+q   容器不停止退出

    如果退出容器后,可以再次使用命令(注意,得先运行docker run之后然后被stop掉的容器才可以使用如下命令)        docker start 容器ID  

    docker kill  容器id    杀死进程

    复制文件

    docker cp 容器id : /usr/local/my.txt  /tmp/c.txt     意思是把容器内的文件拷贝到宿主机上

    自定义镜像

    docker commit  -a="zzyy"  -m="del tomcat docs "  d6o9862k  yixin/tomcat:1.2  

    -a  作者   -m  信息    容器id    起的镜像名字

  • 相关阅读:
    物理层的三种编码方式
    Mysql中eft join、right join、inner join的区别
    Linux常用命令
    Linux中文件颜色所代表的属性和颜色
    phpcms v9 中的数据库操作函数
    NetBeans无法使用编码GBK安全打开文件
    PHP中的一些常用正则表达式
    eureka强制下线上线
    perl(JSON) is needed by mysql-community-test-5.7.30-1.el7.x86_64
    利用TikZ 宏包在 LaTeX 中绘制流程图
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/9299593.html
Copyright © 2020-2023  润新知