zoukankan      html  css  js  c++  java
  • docker环境安装,镜像和容器常用命令

    1 docker环境安装

    1.1 安装yum-utils

     yum install -y yum-utils device-mapper-persistent-data lvm2

    1.2  为yum源添加docker仓库位置

     yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    1.3  安装docker

     yum install docker-ce

    1.4 启动docker

     systemctl start docker      

    2 docker镜像常用命令

    2.1 搜索镜像

     docker search mysql

    2.2 查找镜像支持的版本

    进入docker hub的官网,地址为:https://hub.docker.com,然后搜索需要的镜像

     

    2.3 下载镜像

     docker pull mysql:5.7

    2.4 列出镜像

     docker images

    2.5 删除镜像

    • 指定名称删除镜像:

       docker rmi mysql:5.7
    • 指定名称删除镜像(强制):

       docker rmi -f mysql:5.7
    • 删除所有没有引用的镜像

       docker rmi  $(docker images | grep none | awk '{print $3}')
    • 强制删除所有的镜像

       docker rmi -f $(docker images)

     

    3 Docker容器常用命令

    3.1 新建并启动容器

    docker run -p 3306:3306 --name mysql -d mysql:5.7
    • 参数解释

      -p  指定端口映射,格式为:hostPort:containerPort

      --name选项:指定运行后容器的名字为mysql,之后可以通过名字来操作容器

      -d 表示后台运行

    3.2 列出运行中的容器

     docker ps 

    3.3 列出所有的容器

     docker ps -a

    3.4 停止容器

     docker stop containerName(containerId)

    例如:docker stop mysql or docker stop b417ac5a44b0

    3.5 强制停止所有的容器

     docker kill containerName(containerId) 

    例如:docker kill mysql or docker kill b417ac5a44b0

    3.6 启动停止的容器

     docker start containerName(container)

    例如:docker start mysql docker start b417ac5a44b0

    3.7 进入容器

    • 先查询出容器的pid

       docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId) 
      • 根据容器的pid进入容器

         nsenter --target 11239  --mount --uts --ipc --net --pid

    3.8  删除容器

    • 删除指定容器

       docker rm $ContainerName(或者$ContainerId)
    • 按名称删除容器

       docker rm `docker ps -a | grep mysql* | awk '{print $1}'`
    • 强制删除所有的容器

       docker rm -f $(docker ps -a -q)

    3.9 查看容器的日志

    • 查看当前容器日志

       docker logs containerName(containerId)
    • 动态查看当前容器日志

       docker logs containerName(containerId) -f

    4.0 查看容器的ip地址

     docker inspect --format '{{ .NetworkSettings.IPAddress }}'  containerName(containerId)

    4.1 修改容器的启动方法

     docker container update --restart=always $ContainerName 

    4.2 启动容器时指定时区

     docker run -p 80:80 --name nginx  -e TZ="Asia/Shanghai"  -d nginx:1.17.0

    4.3 在宿主机查看docker容器 cpu,内存,网络,io使用情况

    • 查看指定容器情况

       docker stats  containerName(containerId)
      • 查看所有容器情况
     docker stats -a 
    • 查看docker 磁盘使用情况

       docker system df

    4.4  进入docker容器内部的bash

     docker exec -it $ContainerName /bin/bash
    • 使用root账户进入docker容器内部的bash 

       docker exec -it --user root $ContainerName /bin/bash

    4.5 创建外部网络

     docker network create -d bridge my-bridge-network

    4.6 修改docker镜像存放的位置

    • 查看docker镜像存放的位置
     docker info | grep "Docker Root Dir"
    • 关闭docker服务
     systemctl stop docker
    • 移动目录到目标路径
     mv /var/lib/docker /mydata/docker
    • 建立软链接
     ln -s /mydata/docker /var/lib/docker

  • 相关阅读:
    Eclipse中自动提示的方法参数都是arg0,arg1的解决方法
    eclipse 下找不到或无法加载主类的解决办法
    将博客搬至CSDN
    java接口中定义成员变量
    重写与重载
    多位数每一位个系数:个位num%10;十位num/10%10.......
    输出 n=6 的三角数字阵(JAVA基础回顾)
    二维数组的遍历之查漏补缺
    For循环打印正三角,倒三角,菱形
    JAVA的continue用法
  • 原文地址:https://www.cnblogs.com/DuJiu/p/13513141.html
Copyright © 2011-2022 走看看