• docker for mac 学习记录


    docker基本命令

    docker run -d -p 80:80 --name webserver nginx 运行容器并起别名
    docker ps 展示目前启动的容器
    docker ps -a 展示所有容器
    docker start 启动容器
    docker stop 停止容器
    docker rm -f webservr 停止并删除容器,但不会删除镜像
    docker images 显示本地拥有的镜像
    docker rmi nginx 删除本地images
    

    创建自己的docker镜像

    编辑Dockerfile文件,填入以下内容:

    FROM docker/whalesay:latest
    RUN apt-get -y update && apt-get install -y fortunes
    CMD /usr/games/fortune -a | cowsay
    

    运行以下命令创建名为docker-whale的镜像:

    docker build -t docker-whale . 
    
    • -t: 给tag命令
    • .: Dockerfile文件所在路径

    docker tag push pull

    docker tag 8e15421920b1 xulingfeng/docker-whale:latest
    

    上传操作

    docker push xulingfeng/docker-whale
    

    下载操作

    docker pull centos
    

    交互式的操作

    docker run -t -i ubuntu /bin/bash    
    
    • -t 分配了一个终端在新的容器中
    • -i 允许你和容器进行交互操作
    • /bin/bash 启动容器中的Bash shell

    docker的守护状态,也就是后台运行

    docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
    
    • docker run 运行容器
    • -d 让容器在后台运行
    • ubuntu 你希望运行容器的镜像

    查看docker容器运行日志

    docker logs -f 容器名
    
    • -f 类似与 tail -f

    使用docker运行web应用

    docker run -d -P training/webapp python app.py
    
    • -d:代表后台运行该容器
    • -P:映射容器中的web应用端口号到你的主机上32768-61000中的某一个端口。这样你可以访问该容器中的web应用
    • training/webapp: 一个已经构建好的镜像,包含一个简单的python flask框架web应用
    • python app.py:这个命令用来启动容器中的web

    成功运行以上命令后,运行:
    docker ps
    查看到容器的5000端口号映射到了本地的32768,浏览器访问http://127.0.0.1:32768 看到helloworld 成功提示

    自定义主机端口号

    docker run -d -p 80:5000 training/webapp python app.py
    
    • -p 80:5000 将本机的80端口绑定容器内的5000端口,本地直接访问 http://127.0.0.1 即可

    查看容器的进程

    docker top 容器名
    

    检查容器的状态信息

    docker inspect 容器名
    

    镜像搜索

    docker search 内容
    

    创建一个给pycharm开发用的镜像,包含python3,Django, Flask, requests, PyMySQL, ldap3, jira,celery, simplejson

    centos镜像,分解步骤如下

    首先添加额外源

    yum install -y epel-release
    

    安装编译环境

    yum install -y gcc automake autoconf libtool make gcc-c++
    

    安装wget命令

    yum install -y wget 
    

    安装openssl-devel python的pip命令依赖

    yum install -y openssl-devel
    

    下载python3.5.2最新包

    wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz -P /software/
    

    解压python3.5.2压缩包并编译安装

    tar -zxvf /software/Python-3.5.2.tgz -C /software/
    
    ./configure && make -j2&& make install -j2
    

    更新pip

    pip install --upgrade pip
    pip install --upgrade setuptools
    

    安装所需的第三方包

    pip install Django Flask requests PyMySQL ldap3 jira celery simplejson
    

    通过Dockerfile构建镜像

    Dockerfile:

    FROM centos:latest
    RUN yum install -y epel-release
    RUN yum install -y gcc automake autoconf libtool make gcc-c++
    RUN yum install -y wget
    RUN yum install -y openssl-devel
    RUN wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz -P /software/
    RUN tar -zxvf /software/Python-3.5.2.tgz -C /software/
    RUN cd /software/Python-3.5.2/ && ./configure python3 && make -j2&& make install -j2
    RUN pip install --upgrade pip
    RUN pip install --upgrade setuptools
    RUN pip install Django Flask requests PyMySQL ldap3 jira celery simplejson
    

    在Dockerfile目录中执行:

    docker build -t 名字:版本 .
    

    兼容docker for mac 和 pycharm

    brew install socat
    socat TCP-LISTEN:2376,reuseaddr,fork,bind=127.0.0.1 UNIX-CLIENT:/var/run/docker.sock
  • 相关阅读:
    读书笔记之:Accelerated C++ 中文版[+]
    读书笔记之:C程序设计语言(第2版)[+++++]
    读书笔记之:C++精解与程序设计[]
    C/C++中的输入与输出及如何读取一行文本
    C/C++中的getline函数总结
    JM中的一些问题总结
    YUV主要采样格式理解
    读书笔记之:C++ Primer (第4版)及习题(ch12ch18) [++++]
    读书笔记之:C++ Primer (第4版)及习题(ch01ch11) [++++]
    读书笔记之:C++精髓·软件工程[]
  • 原文地址:https://www.cnblogs.com/levelksk/p/6145858.html
Copyright © 2020-2023  润新知