zoukankan      html  css  js  c++  java
  • docker笔记

    # Docker
    - 要有Container首先要有Image,也就是说Container是通过image创建的。
    - Container是在原先的Image之上新加的一层,称作Container layer,这一层是可读可写的(Image是只读的)。
    - 在面向对象的编程语言中,有类跟对象的概念。类是抽象的,对象是类的具体实现。Image跟Container可以类比面向对象中的类跟对象,Image就相当于抽象的类,Container就相当于具体实例化的对象
    - Image跟Container的职责区别:Image负责APP的存储和分发,Container负责运行APP

    ## Docker Hub 网址
    `https://hub.docker.com/`
    ## 查找镜像
    `docker search httpd`
    ## 下载镜像
    `docker pull Python3.8`


    ## images
    ### 查看本地所有镜像
    `docker images`

    ## 容器/镜像的元数据
    `docker inspect python:3.8`

    ### 删除当前的某个Image的命令
    `docker image rm <IMAGE ID>,简写方式为:docker rmi -f <IMAGE ID>`

    ### 运行一个docker
    ` docker run -it --name pytest -v ~/PycharmProjects/text_similar:/root/text_similar python:3.8 bash`

    - python:3.8 Python为REPOSITORY 3.8为TAG名称
    - 运行docker容器可以使用 docekr run <IMAGE STRING>,但用这个命令运行的容器会在运行完后,容器就自动退出了,不能跟用户有交互的效果。
    - 想要有交互效果可以使用docker run -it <IMAGE STRING>命令。
    - /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash

    ## 容器
    ### 查看正在运行的容器
    `docker ps -a`

    ### 列出所有已经创建的容器
    `docker container ls -a`

    ### 停止一个容器
    `docker stop <CONTAINER ID>`

    ### 启动一个已经停止的容器
    `docker start b750bbbcfd88`

    ### 删除一个容器
    `docker rm -f <CONTAINER ID>`

    ### 退出容器
    `exit`

    ### 重新进入容器
    `docker exec -it 243c32535da7 /bin/bash`


    ### 导出容器
    `docker export 1e560fca3906 > ubuntu.tar`
    - 导出容器 1e560fca3906 快照到本地文件 ubuntu.tar


    ### 导入容器快照
    `cat docker/ubuntu.tar | docker import - test/ubuntu:v1`
    - 使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1


    ## docker网络设置
    ### 创建网段
    `docker network create --subnet=172.18.0.0/16 mynet`

    ### 查看网段
    `docker network ls`

    ### 删除网段
    `docker network rm mynet`

    ### 指定网段
    `docker run -it --name=p1 --net mynet --ip 172.18.0.2 python:3.8 bash`
    - 参数说明:--net 网段名称 --ip IP地址

    ### 端口映射
    `docker run -it -p 9500:9500 -p 9600:3306 python :3.8 bash`
    - 参数说明:-p 宿主机端口:容器端口

    ## docker目录挂载
    ### docker目录挂载
    `docker run -it -v /root/test:/root/project python:3.8 bash`
    - 参数说明:-v 宿主机文件夹路径:容器文件夹路径


    ### 创建MySQL容器
    `docker run --name m1 -p 4306:3306 --net mynet --ip 172.18.0.3 -v /root/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -d mysql:8.0.18`

  • 相关阅读:
    Sandcastle 这个工具生成文档不错
    Windows 服务关闭自动重启
    『录』最全前端资源汇集
    利用Continuous Testing实现Eclipse环境自动单元测试
    (转载)const指针和指向const的指针(左值右指)
    为什么寄存器比内存快?
    Vim Buffer
    Linux操作系统文件系统基础知识详解(引用内容)
    详解BOM头以及去掉BOM头的方法
    对比MySQL,什么场景MongoDB更适用
  • 原文地址:https://www.cnblogs.com/xypbk/p/14837090.html
Copyright © 2011-2022 走看看