zoukankan      html  css  js  c++  java
  • Docker安装及基本操作

    系统环境

    • CentOS Linux release 7.5.1804 (Core)
    安装依赖包
    • 更新系统软件
    yum update
    
    • 安装docker
    yum install docker
    
    • 启动docker并设置开机启动,查看启动状态
    systemctl enable docker.service
    systemctl start docker.service
    systemctl status docker.service
    
    • 查看安装位置
    rpm -ql docker
    
    • 安装docker仓库
    yum install docker-distribution
    
    • 查看安装位置
    rpm -ql docker-distribution
    
    • 启动服务,并设置开机启动
    systemctl enable docker-distribution
    systemctl start docker-distribution
    systemctl status docker-distribution
    
    • 查看docker版本
    docker version
    

    docker基本操作

    • 搜索镜像
    docker search centos:latest
    
    • 将镜像拉到本地,然后就能通过docker images查看到
    # 以下两种方式,一种指定镜像来源,一种默认官方源
    docker pull docker.io/centos
    docker pull centos
    
    

    由于docker是国外的,中国区访问质量不是很好,可以配置一些国内的镜像源

    vim /etc/docker/daemon.json
    

    修改为下面的内容

    {"registry-mirrors":["https://registry.docker-cn.com"]}
    
    • 查看本地镜像
    docker images
    
    • 查看本地容器
    docker ps
    

    不带选项只显示当前运行带容器
    加上-a选项,可以看到历史运行容器

    • 运行镜像
    # 以交互式进入容器操作
    docker run -it 镜像ID /bin/bash
    # 下面这种方式,带上--rm参数,表示容器运行完退出时一起删除,节省系统资源, --name则是给容器起个名字,这个名字和容器ID的效果一样使用
    docker run -it --rm --name cmdb centos:latest
    
    
    • 进入一个已经运行的容器
    docker exec -it cmdb bash
    
    • 查看容器与原始镜像内容变化
    # 会列出容器修改后的路径及文件位置
    docker diff cmdb
    
    • 保存容器
    docker commit -m "注释信息" 容器ID tag标记
    # 如对cmdb服务器内容修改,然后创建一个新版本,类似git版本控制,这样下次启动基于这个新版本,就不在需要做上一个版本与这个版本之间diff差异的操作
    docker commit --author "zengchunyun" --message "update index.html" cmdb centos:v2
     
    # 通过查看docker images就会出现新的镜像版本
    docker images
    
    # 以新版本镜像运行cmdb
    # 注意,运行新版本时,要确保上一个版本的容器分配的端口不能和当前映射的端口一致,否则无法启动
    docker run -p 80:80 --name new_cmdb centos:v2
    
    • 删除容器
      删除容器前,如果容器在运行状态,需要停止容器

    • 停止容器

    # 以下两种方式都可以停止容器运行
    docker stop [CONTAINER ID]
    docker stop [NAMES]
    
    
    • 删除容器
    # 以下两种方式都可以删除容器
    docker rm [CONTAINER ID]
    docker rm [NAMES]
    
    • 删除镜像
      默认删除镜像得保证该镜像不被其它进程使用,也就说没有运行在容器里,可以使用-f参数强制删除镜像
    docker rmi 镜像ID
    
  • 相关阅读:
    lsmod命令详解
    init命令详解
    runlevel 命令详解
    nohup命令详解
    nice和renice命令详解
    pstree命令详解
    ps命令详解
    crontab命令详解
    pkill命令详解
    killall命令详解
  • 原文地址:https://www.cnblogs.com/zengchunyun/p/9347251.html
Copyright © 2011-2022 走看看