• 通俗易懂的Docker (一篇文章就让你玩转)


    Docker是什么?

    Docker一个运行环境部署好后,可一直重复使用的工具。
    Docker的三个基本概念:镜像,容器,仓库

    以下不包括Docker的下载安装,但你想几分钟就使用和熟练了解Docker,那么请继续往下看~

    简单一句概括:

    镜像 --> 容器;
    镜像集中于仓库;
    仓库中有镜像,镜像被容器使用。
    (镜像中可以有多个组件,通过build自定义创建镜像,创建Dockerfile文件写入组件信息,如redis,php,mysql,python...)。

    Docker Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
    Docker Compose是用于定义和运行多容器 Docker 应用程序的工具。
    Docker Machine是一种可以在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。

    自定义Docker镜像,满足自己的开发环境需求方法:

    1. 先从Docker的公共库下载有部分软件环境的镜像,在其基础上,进入镜像,用命令下载需要的软件环境,利用commit生成新的镜像,提交容器副本;
    2. 编写Dockerfile文件,使用build生成镜像,后面如果需要其他软件环境,可用1的方法进入镜像,生成新的镜像。

    简单的实例操作:

    1. docker search redis        '搜索redis版本'
    2. docker pull redis:latest    '加载redis最新版本的镜像'
    3. docker images    '查看本地镜像是否安装成功'
    4. docker run -itd --name redis_test -p 6379:1111 redis    
    5.     '使用镜像redis,运行容器名字为redis_test,容器端口1111(后)映射到本机端口(前)6379'
    6. docker ps        '查看容器运行信息'
    7. docker exec -it redis_test /bin/bash    '进入容器的终端,可查看容器中的redis版本'
    8. docker run --name phpAndredis -p 80:80 -d \
    9.     -v ~/nginx/www:/www \    '将主机的目录/nginx/www挂载到容器的/www'
    10.     -v ~/conf/conf.d:/etc/conf \
    11.     --link redis_test:redis \     '把redis_test的网络并入下面的php'
    12.     php

    常见镜像操作:

    1. docker images    '显示本地的镜像'
    2. docker pull ubuntu:11     '加载镜像'
    3. docker search httpd    '查找镜像'
    4. docker rmi httpd    '删除镜像'
    5. docker run -it ubuntu:11 /bin/bash    '创建容器进入终端'
    6. apt-get update    '更新镜像'
    7. docker commit -m="描述信息" -a="作者" 容器id 创建目标镜像名字    '提交容器副本'
    8. docker build -t diy_centos .    '自定义创建镜像,通过创建Dockerfile文件,写指令
    9.     -t创建的目标镜像名字,[.] Dockerfile文件所在目录'
    10. docker tag 容器id diy_centos:whiteV1    '设置镜像标签'


    常见容器操作:

    1. docker ps -a    '查看所有容器'
    2. docker start/stop/restart 容器id(例如:913791ibi31)    '启动/停止/重启 对应id的容器'
    3. docker attach 容器id    '进入对应id的容器,退出时停止容器'
    4. docker exec -it 容器id /bin/bash    '进入对应id的容器,退出时不会停止容器'
    5. docker export 容器id > white.tar    '导出本地容器到white.tar'
    6. cat docker/white.tar | docker import -test/ubuntu:v1.0    '导入white为镜像,再导入到ubuntu镜像中'
    7. docker import http://white.com/white.tar test/ubuntu    '指定url导入'
    8. docker rm -f 容器id        '删除容器'
    9. docker port 容器id/name        '查看容器端口映射情况'
    10. docker logs -f 容器id/name    '查看容器的输出'
    11. docker network create -d bridge network_test    '创建Docker网络'
    12. docker run -itd --name testANDnet --network network_test ubuntu /bin.bash    '运行容器连接网络,设置两个容器则会建立互联关系'


     

    部分命令说明

    1. -i    交互式操作
    2. -t    终端
    3. -d    容器后台运行,不进入容器
    4. -P    容器端口随机映射主机端口,主机端口随机
    5. -p    容器端口指定映射主机端口,主机端口自定
    6. attach    进入容器,退出容器时容器停止
    7. exec    (推荐)进入容器,退出容器时容器不会停止

  • 相关阅读:
    Kubernetes(k8s)资源管理
    c++23中的新功能之十六std::forward_like
    Python常见的开发工具合集对比
    Redis如何实现多可用区?
    计算二值化图片的迭代次数
    好莱坞编剧大罢工终于结束;与OpenAI创始人共进早餐;使用DALL-E 3制作绘本分享;生成式AI的基础设施架构 | ShowMeAI日报
    外骨骼机器人关键技术与核心问题
    026-为什么要使用接口
    【Hive】MapReduce 如何实现 Hive SQL 的基本操作-distinct
    NEON优化2:ARM优化高频指令总结
  • 原文地址:https://blog.csdn.net/white_mvlog/article/details/125993347