美文网首页
docker学习

docker学习

作者: 忆江南_1569 | 来源:发表于2022-07-12 11:30 被阅读0次

    docker 命令行启用远程控制命令

    后台运行:
    docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &
    直接运行
    docker -d -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

    centos 6.8镜像升级python版本

    使用centos镜像创建一个容器,进入bash命令下
    docker run -ti centos:6.8 /bin/bash
    使用yum下载wget
    yum install wget
    进入/user/local使用wget下载对应的python版本
    wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
    wget --no-check-certificate https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
    编译前需要安装以下依赖
    yum install openssl openssl-devel zlib-devel gcc -y
    下载完成后使用tar解压
    tar xvf Python-2.7.6.tgz
    进入解压后的python-2.7.6目录下执行
    vi ./Modules/Setup.dist
    找到#zlib zlibmodule.c -I(prefix)/include -L(exec_prefix)/lib -lz去掉注释并保存(即去掉#号)
    编译
    ./configure
    make && make install
    查看之前的python命令的路径
    which python
    重命名之前python命令
    mv /user/bin/python /user/bin/python2.6
    新建一个新安装的python版本的解释器的软链接到/user/bin/python
    ln -s /user/local/bin/python2.7 /user/bin/python
    此时python新的版本安装成功了,但是还没有easy_install和pip包管理工具,再进行安装
    此时yum不能使用了,因为yum命令实际上是一个python脚本,需要将yum命令中的/usr/bin/python更改为原来的版本
    查看yum命令的路径
    which yum
    vi /usr/bin/yum
    更改#!/usr/bin/python为原来的python版本解释器#!/usr/bin/python2.6
    此时yum可以使用了
    下载easy_install
    wget -q http://peak.telecommunity.com/dist/ez_setup.py
    python ez_setup.py
    通过wget下载pip
    wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
    下载完成之后解压
    进入解压玩的pip目录下,执行
    python setup.py install
    此时pip安装成功
    但是使用pip install xxx报错
    Cannot fetch index base URL https://pypi.python.org/simple/ Could not find any downloads that satisfy the requirement requests
    设置使用豆瓣源
    vi ~/.pip/pip.conf
    添加如下内容
    [global]
    index-url=http://pypi.douban.com/simple/
    此时pip可以正常使用了
    保存已经配置的环境
    使用exit退出镜像

    Paste_Image.png

    记住这个id号,commit时用

    使用已有镜像的容器创建镜像

    docker commit -m "centos python2.7" -a "tyq" 667469 centospy2.7

    常用命令

    docker stats

    docker stats命令用来监控容器资源消耗。不带任何参数默认展示宿主机上所有容器资源消耗情况。加上容器id,展示指定容器的资源消耗情况。
    [CONTAINER]:以短格式显示容器的 ID。
    [CPU %]:CPU 的使用情况。
    [MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
    [MEM %]:以百分比的形式显示内存使用情况。
    [NET I/O]:网络 I/O 数据。
    [BLOCK I/O]:磁盘 I/O 数据。
    [PIDS]:PID 号。

    docker stats //展示宿主机上所有的容器资源消耗情况
    docker stats e51bda257748 // 展示指定容器的资源消耗情况
    CONTAINER ID        NAME          CPU %       MEM USAGE / LIMIT     M %     NET I/O        BLOCK I/O     PIDS
    e51bda257748     runner-test      0.06%      14.21MiB / 125.6GiB   0.01%   0B / 0B         0B / 0B      69
    
    

    docker ps

    常见用法:

    docker ps  //查看正在运行的容器
    docker ps -a //显示所有状态的容器,容器的状态共有 7 种:created|restarting|running|removing|paused|exited|dead
    docker ps --no-trunc  //显示完整输出,不截断
    

    docker images

    列出本地主机上已有的镜像

    [root@sysc]# docker images
    REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
    centos-7.4-gitlabci_sonar_base   latest              94b3d223ba58        6 months ago        3.7GB
    gitlab/gitlab-runner-helper      x86_64-25b80a3a     93b98067b4e6        7 months ago        46.4MB
    maven                            3-jdk-8             8c0e3cc0db61        7 months ago        525MB
    centos-7.4-stage-2.7             app_deploy_3.3      2560a2773a72        12 months ago       2.51GB
    sonarqube                        7.4-community       df1feff9aacf        2 years ago         830MB
    gitlab/gitlab-runner             v10.8.2             538ba3128bd4        2 years ago         371MB
    

    docker inspect

    获取指定镜像的详细信息

    docker inspect d49f67204306 //显示指定镜像的详细信息,包括环境变量\ip等
    

    docker run

    创建并启动容器

    //以守护态启动一个bash终端。-t让docker分配一个伪终端并绑定到容器的标准输入,-i则让容器的标准输入保持打开
    [root@sysc ~]# docker run -dti centos-7.4-gitlabci_sonar_base:latest /bin/bash 
    d49f67204306a99643f0e902ee9701d78666f585a7a1690a421f63f19e4f16fe
    // --name给容器指定名称为jay
    [root@sysc ~]#docker run -dti --name jay centos-7.4-gitlabci_sonar_base:latest /bin/bash 
    b2f32c28d4d688423237620d0e6f013d30dc7d0e9df1e6db27b97397e5a65234
    //docker run的时候如果添加--rm参数,容器在终止后会立即删除。--rm和-d参数不能同时使用
    [root@sysc ~]# docker run --rm -P --name tyq  sonarqube:7.4-community
    2021.07.07 06:01:03 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
    2021.07.07 06:01:03 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
    
    

    docker stop

    终止一个运行中的容器

    [root@sysc ~]# docker stop e8cc   //e8cc为容器id前4位
    e8cc
    

    docker rm

    [root@sysc ~]# docker rm e8cc   //删除id为e8cc的容器
    e8cc
    

    端口映射访问容器

    //将本地的9004端口映射到容器的9000端口
    [root@sysc ~]# docker run -d -p 0.0.0.0:9004:9000 sonarqube:7.4-community /opt/sonarqube/bin/run.sh
    4f17cdccd8b6336c82df4529625b5d48ceeb1055718fd3407f9a687d7c976e42
    

    docker logs

    [root@sysc ~]# docker logs -f adbf6 //查看容器应用日志
    2021.07.07 06:08:22 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
    2021.07.07 06:08:22 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
    

    docker port

    查看指定容器映射的端口配置

    [root@sysc ~]# docker port 263327 9000  //查看容器id为263327端口号为9000的映射配置 
    0.0.0.0:9999
    

    docker export

    # 将id为e0933dd的容器导出到一个文件
    [root@sys ~]# docker export e0933dd>sonarsqltest.tar
    

    docker import

    # 将上面导出文件使用docker import导入成为镜像
    [root@sys ~]# cat sonarsqltest.tar |docker import - mysql:v1.1
    sha256:d3de01a69edb90fd9342b0d584d7904bb08b046c852c55992a5467b58489784a
    

    相关文章

      网友评论

          本文标题:docker学习

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