• 浅尝docker--基础篇


    docker下载

    docker 官网地址:https://docs.docker.com
    docker下载分为两部分:

    • docker desktop 可视化工具
    • docker Engine 服务器部署

    docker部署

    官网地址:https://docs.docker.com/engine/install/centos/
    以centos为例:

    • 卸载原有的环境
     sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 使用存储库安装
    • 首次在新主机上安装 Docker Engine 之前,需要设置 Docker 存储库。之后,您可以从存储库中安装和更新 Docker。
    • 安装 yum-utils 包(它提供了 yum-config-manager 实用程序)并设置存储库。
    sudo yum install -y yum-utils
     sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
    • 1
    • 2
    • 3
    • 4
    • 安装 Docker 引擎
    sudo yum install -y docker-ce docker-ce-cli containerd.io
    
    • 1
    测试docker是否安装成功
    • 启动docker

    sudo systemctl start docker

    • 跑测试docker

    sudo docker run hello-world

    • 开机启动docker

    sudo systemctl enable docker

    在这里插入图片描述

    docker 镜像加速

    阿里云配置地址:https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors

    • 使用阿里云提供的镜像库,加速镜像获取速度
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://4p8905vs.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    docker命令

    • 获取docker 版本
      • docker version
    • docker 命令帮助
      • docker -help
    • 获取docker镜像集合
      • docker images
    • 搜索docker
      • docker search
    • 拉取docker镜像
      • docker pull
    • 删除docker镜像
      • docker rmi

    容器命令

    • 有镜像才能有容器,所以先下载一个centos虚拟机镜像
      • docker pull centos:centos7
    • 创建并启动一个容器
    docker run [OPTIONS] IMAGE [COMMAND]
    
    • 1

    OPTIONS中的一些参数

    options说明
    --name“容器新名字”: 为容器指定一个名称
    -d后台运行容器,并返回容器ID,也即启动守护式容器
    -i以交互模式运行容器,通常与 -t 同时使用
    -t为容器重新分配一个伪输入终端,通常与 -i 同时使用
    -P:随机端口映射
    -p指定端口映射,有以下四种格式 ip:hostPort:containerPort
    ip::containerPort
    hostPort:containerPort
    containerPort
    • 启动一个虚拟机
      • docker run -it centos:centos7 /bin/bash
    • 列举运行中的容器
      • docker ps [OPTIONS]
        OPTONS可用的参数
    OPTIONS说明
    -a列出当前所有正在运行的容器+历史上运行过的
    -l显示最近创建的容器。
    -n显示最近n个创建的容器。
    -q静默模式,只显示容器编号。
    –no-trunc不截断输出。
    • 退出容器
    退出方式说明
    exit容器停止退出
    ctrl+p+q容器不停止退出
    • 启动容器
      • docker start 容器ID或者容器名称
    • 重启容器
      • docker restart 容器id或者名称
    • 停止容器
      • docker stop 容器ID或者名称
      • docker kill 容器ID或者名称
    • 删除容器
      • docker rm 容器ID
      • docker rm -f $(docker ps -qa)
      • docker ps -a -q | xargs docker rm

    守护镜像

    类似于守护线程,主进程结束,守护线程也就消亡;

    • 创建守护镜像:
    • 写一个死循环,避免主线程结束导致守护现场结束

    docker run -d centos:centos7 /bin/bash -c ‘for i in {1…1000};do echo “hello docker $i”;sleep 3;done’

    • 日志查看:

    docker logs -t -f 容器ID

    其他命令:

    • 查看容器中运行的进程:

    docker top 容器ID
    在这里插入图片描述

    • 查看容器细节:

    docker inspect 容器ID
    在这里插入图片描述

    • 重新进入容器进程

    docker attach 容器ID
    docker exec -it 容器ID 命令 例如:docker exec -it 1a37 ls

    进入方式说明
    exec在容器中打开新的终端,并且可以启动新的进程
    attach直接进入容器启动命令的终端,不会启动新的进程
    • 复制容器文件
    • docker cp 容器ID:目标文件 存放地址

    docker cp 927:/root/hello_world /root

  • 相关阅读:
    华为云数据库 GaussDB(for MySQL),为企业云上业务发展保驾护航
    Lua速成(7)
    【Spring AOP】Spring AOP 详解
    JSR303和拦截器
    【开源三方库】crypto-js加密算法库的使用方法
    Win11找不到gpedit.msc怎么办?Win11无法打开gpedit.msc解决教程
    (动手学习深度学习)第13章 实战kaggle竞赛:CIFAR-10
    智能家居和物联网技术
    如何生成一个足够安全又容易记住的密码?
    Python多线程的用法
  • 原文地址:https://blog.csdn.net/weixin_40869022/article/details/127801646