zoukankan      html  css  js  c++  java
  • Docker 基本使用

    # 镜像
    docker search 镜像名                 # 搜索镜像
    docker pull  镜像名                    # 下载镜像
    docker image ls                        # 查看本地的所有镜像
    docker images                          #  查看本地的所有镜像
    docker rmi 镜像id/镜像名            # 删除指定镜像 
    docker rmi -f  镜像id/镜像名         # 强制删除指定镜像 
    # 容器
    docker ps                                                       # 查看正在运行的容器
    docker container ls                                          # 查看正在运行的容器
    docker ps -a                                                   # 看来所有的容器
    docker ps -aq                                                 # 查看所有的容器id
    docker rm 容器id/容器名                                    # 删除容器
    docker rm `docker ps -aq`                               # 删除所有容器
    docker rm -f `docker ps -aq`                            # 强制删除所有容器
    docker -d run 镜像名/镜像id                                # 根据镜像创建容器在后台运行
    docker -it run 镜像名/镜像id  指定解释器                # 根据镜像创建容器且进入容器
    docker start/stop 容器id                                   # 开启/停止容器

    容器允许的概念

    1.一个容器最好只允许一个应用

    2.进行最大程度的松耦合

    3.一个容器挂了,不会影响其他的应用程序

    4.微服务(docker,etcd,rpc,k8s)

    查看系统的版本

    cat /etc/os-release

    创建镜像、导入导出镜像

    # 1.创建容器并进入容器
    docker run -it --name python-docker centos /bin/bash
    参数:
    -it           #交互式
    --name    # 容器的命名
    
    # 2.查看所有容器记录
    docker ps -a
    
    # 3.退出当前容器,提交容器为新的镜像
    docker commit 3f69 s1/centos7-python3
    
    # 4.查看本地所有镜像
    docker images
    
    # 5.导出镜像
    docker save s1/centos7-python3 > /opt/centos7-python3.tar.gz
    # s1/centos7-python3              镜像名
    # /opt/centos7-python3.tar.gz  导出后的文件
    
    # 6.强制删除本地所有镜像
    docker rmi -f `docker images -aq`
    
    # 7.导入镜像
    docker load < /opt/centos7-python3.tar.gz

    新命令

    # 查看所有容器的id
    docker ps -aq
    
    # 停止所有容器
    docker stop `docker ps -aq`
    
    # 删除所有容器
    docker rm `docker ps -aq`
    
    # 查看所有本地镜像
    docker images -aq
    
    # 删除所有本地镜像
    docker rmi `docker images -aq`
    
    # 强制删除所有本地镜像
    docker rmi -f `docker images -aq`

    创建容器且随机端口映射

    docker run -d -P training/webapp python app.py
    
    # 后台允许基于training/webapp镜像的创建容器,本地不存在镜像,会从Docker Hub公用存仓库去找
    # -d  后台允许
    # -P  随机端口映射,容器内暴露的端口
    # 0.0.0.0:32768->5000/tcp
    宿主机(物理机)的端口 -> 容器内的端口

    创建容器且指定端口映射

    docker run -d -p 8989:5000 training/webapp python app.py
    
    # -p 指定端口映射
    # 8989:5000
    # 宿主机端口: 容器内端口

    docker镜像推送和下载

    # 登陆Docker Hub
    docker login
    
    # 查看本地所有镜像
    docker images
    
    # 修改本地镜像的名字
    docker tag s1/centos7-python3 mutou1999/centos7-python3
    ## mutou1999/centos7-python3    公共仓库的用户名/镜像名
    
    # 推送到用户的公共仓库
    docker push mutou1999/centos7-python3
    
    # 强制删除所有本地镜像
    docker rmi  -f `docker images -aq`
    
    # 从公共仓库下载镜像
    docker pull mutou1999/centos7-python3
  • 相关阅读:
    单例模式
    Curator Zookeeper分布式锁
    LruCache算法原理及实现
    lombok 简化java代码注解
    Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法
    解决mysql Table ‘xxx’ is marked as crashed and should be repaired的问题。
    Redis 3.0 Cluster集群配置
    分布式锁的三种实现方式
    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令
    How to Use Convolutional Neural Networks for Time Series Classification
  • 原文地址:https://www.cnblogs.com/st-st/p/10281490.html
Copyright © 2011-2022 走看看