美文网首页
Docker常用的镜像和容器命令

Docker常用的镜像和容器命令

作者: lietobrain | 来源:发表于2021-01-18 10:37 被阅读0次

    docker启动命令,docker重启命令,docker关闭命令

    场景

    1. 进入某个docker环境(镜像)

    已进入195的myImages:v1镜像为例,该镜像装好了openjdk8-alpine,安装好了gmp libstdc++ sqlite openldap的基础镜像。

    docker images
    # 可以看到myImages:v1镜像
    docker ps 
    # 如果启动了,ps时可以看到UP的状态,没有的话,可以通过ps -a看看有没有这个容器
    docker ps -a
    # 1. 没有容器的话执行运行镜像的命令,并进入sh
    docker run -it --name mycontain myImages:v1
    # 2. 如果有这个容器,那么启动一下,并进入sh,其中6e291674a36a为myImages:v1的容器id
    docker start 6e291674a36a
    docker exec -it 6e291674a36a /bin/sh
    

    2. 启动mysql

    已247的mysql为例,有时候虚拟机重启,或者docker中mysql挂了。

    # 查看docker状态,如果没有启动就启动docker
    service docker status
    service docker start
    # 查看容器状态,如果没启动容器就启动一下
    docker ps -a
    # docker start 容器id,【注意】其中247是对外用的数据库!
    docker start de9fa67527f6
    

    命令

    1. 启停docker

    # 启动docker
    systemctl start docker
    sudo service docker start
    # 关闭docker
    service docker stop   
    systemctl stop docker
    # 重启docker
    systemctl restart  docker
    sudo service docker restart
    

    2. 守护进程重启

    sudo systemctl daemon-reload
    

    3. 容器

    3.1 运行容器

    # 查看所有容器 
    docker ps -a
    # 查看最后一次运行
    docker ps -l
    # 查看目前 停止的容器
    docker ps -f status=exited
    # 运行某个容器
    docker start name(container id)
    

    3.2 启停容器

    # 停止容器
    docker stop name(container id)
    # 启动容器
    docker start name(container id)
    

    3.3 删除容器

    docker rm name(container id)
    # 强删
    docker rm -f name(container id)
    

    3.4 宿主机拷贝数据到容器

    # docker cp 本地文件路径 ID全称:容器文件路径
    docker cp ./test.txt 6e291674a36a:/
    

    3.5 容器拷贝数据到宿主机

    # docker cp ID全称:容器文件路径 本地文件路径
    docker cp 6e291674a36a:/test.txt ./
    

    4. 镜像

    4.1 运行镜像

    # 启动运行测试环境(创建并进入容器)
    docker run -itd --name redis-test -p 6379:6379 redis
    # 进入运行测试环境
    docker exec -it redis-test /bin/bash
    # 以上其实就是进入一个docker环境
    # 退出容器
    exit
    

    4.2 搜索镜像

    docker search imageName
    

    4.3 安装镜像

    # 安装redis镜像
    docker pull redis:latest
    

    4.4 删除镜像

    docker rmi imageID
    

    4.5 重命名镜像/建立tag

    # docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
    docker tag ec8db3fd6929 openjdk:8-jdk-slim-amd64
    

    4.6 导出镜像

    # 查看对应的容器
    docker ps -a
    # 例如44c912aeb3bb 这个容器,导出到myImages.v2.tar下
    docker export 44c912aeb3bb > myImages.v2.tar
    

    4.7 导入镜像

    cat myImages.v2.tar | docker import - myImages:v2
    

    4.8 通过dockerfile构造镜像

    # 一般默认是dockerfile,如果有多个,或者想指定某个dockerfile,可以使用-f
    docker build -f ./dockerfile_myImages -t myImages:v2 .
    

    4.9 挂载设备创建镜像

    docker挂载设备

    # 挂载设备,暴露端口,设置环境变量,并创建镜像
    # --env 设置环境变量
    # --device 挂载设备
    # -p 映射端口
    docker create -it --device=/dev/swcsm-pci30-0 -p 37094:37094 --env LOG_TRACE=/etc/xxxx.log --name=myImages.v2 myImages:v2 /bin/sh
    

    相关文章

      网友评论

          本文标题:Docker常用的镜像和容器命令

          本文链接:https://www.haomeiwen.com/subject/mabtzktx.html