• Docker操作


    操作

    指令

    启动docker

    systemctl start docker

    停止docker

    systemctl stop docker

    重启docker

    systemctl restart docker

    查看docker状态

    systemctl status docker

    开机启动

    systemctl enable docker

    查看docker概要信息

    docker info

    查看docker帮助文档

    docker --help

    1. Docker 常用命令

    1.1. 帮助命令

    操作

    指令

    查看Docker版本

    docker version

    查看docker概要信息

    docker info

    查看docker帮助文档

    docker --help

    1.2. 镜像命令

    1.2.1. 搜索镜像

    网站: https://hub.docker.com

    如果需要在网络中查找需要的镜像,可以通过以下命令搜索

    docker search 某个XXX镜像名字

    例如:要下载centos镜像

    docker search centos

    DESCRIPTION:镜像描述

    STARS:用户评价,反应一个镜像的受欢迎程度

    OFFICIAL:是否官方

    AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

       

       

    1.2.2. 拉取镜像

    拉取镜像就是从中央仓库中下载镜像到本地,命令:

    docker pull 镜像名字

    例如,要下载centos7镜像:

    docker pull centos:7

    拉取的镜像列表

    docker images

       

    1.2.3. 查看镜像

    命令:docker images

    REPOSITORY:镜像名称

    TAG:镜像标签

    IMAGE ID:镜像id

    CREATED:镜像的创建日期(不是获取该镜像的日期)

    SIZE:镜像大小

    OPTIONS说明:

    -a :列出本地所有的镜像(含中间映像层)

    -q :只显示镜像ID。

    --digests :显示镜像的摘要信息

    --no-trunc :显示完整的镜像信息

       

    1.2.4. 删除镜像

    删除单个镜像

    docker rmi -f 镜像ID

    删除多个镜像

    docker rmi -f 镜像名1:TAG 镜像名2:TAG

    删除全部

    docker rmi -f $(docker images -qa)

       

    1.3. 容器相关命令

    1.3.1. 查看容器

    有镜像才能创建容器,这是根本前提(下载一个CentOS镜像演示)

    查看正在运行的容器

    docker ps

    查看所有容器

    docker ps -a

    查看最后一次运行的容器

    docker ps -l

    查看停止的容器

    docker ps -f status=exited

       

    1.3.2. 创建和启动容器

    创建容器的命令

    docker run

    OPTIONS说明(常用):有些是一个减号,有些是两个减号

    --name="容器新名字": 为容器指定一个名称;

    -d: 在run后面加上参数-d,会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i-t两个参数,创建后会自动进入容器),并返回容器ID,也即启动守护式容器;

    -i:以交互模式运行容器,通常与 -t 同时使用;

    -t:表示容器启动后会进入其命令行,为容器重新分配一个伪输入终端,通常与 -i 同时使用;

    -p: 表示端口映射

    有以下四种格式

    ip:hostPort:containerPort

    ip::containerPort

    hostPort:containerPort

    containerPort

    前者表示宿主机端口,后者是容器内的映射端口,可以使用多个-p做多个端口映射

       

    • 启动交互式容器(创建容器的同时进入到容器命令行中, 一旦退出容器,则容器停止)

    docker run -it --name=centos 镜像名称:标签 /bin/bash

    例如docker run -it --name=centos 镜像id /bin/bash

    退出当前容器

    exit

    交互式容器停止后是可以继续启动的,这时候再次启动则变成了守护石容器

       

    • 启动守护式容器

    创建守护式容器

    docker run -di --name=容器名称 镜像名称:标签

    docker run -di --name=mycentos2 centos:latest

    进入容器内部

    docker exec -it 容器id /bin/bash

    退出命令行exit

       

    1.3.3. 容器的停止和启动

    停止容器

    docker stop 容器名称(或者容器id)

    docker stop mycentos2

    启动容器

    docker start 容器名称(或者容器id)

    docker start mycentos2

    docker run 和 docker start 的区别

    docker run相当于执行了两步操作:将镜像放入容器中(docker create,然后将容器启动,使之变成运行时容器(docker start)。

    docker start的作用是,重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps找到这个容器的信息。

    重启容器

    docker restart 容器名称(或者容器id)

    docker restart mycentos2

    强制停止容器

    docker kill 容器名称(或者容器id)

    docker kill mycentos2

       

    1.3.4. 文件的拷贝

    • 如果需要将文件拷贝到容器内可以使用cp命令

    docker cp 需要拷贝的文件或者目录 容器名称:容器目录

    docker cp /tmp/anaconda.log mycentos2:/tmp

    docker exec -it mycentos2 /bin/bash

    • 也可以将文件从容器内拷贝出来(都是在容器外操作)

    docker cp 容器名称:容器目录 需要拷贝的文件或者目录

    docker cp mycentos2:/tmp /export/

       

    简单方法___挂载目录

       

    1.3.5. 目录挂载

    必须在创建容器的时候挂载 ,实现了宿主机的目录与容器目录文件的共享

    使用该功能可以实现容器和宿主据数据的共享

    宿主机目录:容器目录

    docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest

    如果共享的是多级的目录,可能会出现权限不足的提示。

    这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加参数--privileged=true来解决

    docker run -di --privileged=true -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest

       

    1.3.6. 查看容器 ip地址

    可以通过以下命令查看容器运行的各种数据

    docker inspect 容器名称(容器id)

    docker inspect mycentos3

    也可以直接执行下面的命令直接输出IP地址

    docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器id)

    docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos3

       

    1.3.7. 删除容器

    容器不再使用可以直接删除掉

    删除指定的容器:

    docker rm 容器名称(容器ID)

    docker stop mycentos3

    docker rm mycentos3

       

    2. 安装 mysql

    docker search mysql

    从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

    docker pull centos/mysql-57-centos7

    创建守护容器

    docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7

    -p 代表端口映射,格式为宿主机映射端口:容器运行端口

    -e 代表添加环境变量,MYSQL_ROOT_PASSWORD是root用户的登录密码

     

    3. Docker 的迁移与备份

    容器保存为镜像

    docker commit 容器名称 镜像名称

    docker commit mynginx mynginx_image

    基于新创建的镜像创建容器

    docker run -di --name=mynginx2 -p 81:80 mynginx_image

    镜像备份

    可以通过以下命令将镜像保存为tar文件(保存到当前目录)

    docker save -o mynginx.tar mynginx_image

    -o:表示output,输出的意思

    scp -r mysql.tar node2:/expore

       

    使用此命令进行恢复镜像

    docker load -i mynginx.tar

    -i:表示输入的文件,执行后再次查看镜像,可以看到镜像已经恢复

    [docker使用]

  • 相关阅读:
    在iOS 11上出现libsystem_kernel.dylib`__abort_with_payload崩溃问题的解决
    Mac上安装软件出现“XXXX”已损坏,打不开,你应该将它移到废纸篓 的问题解决
    iOS10.3系统以后(NSStrikethroughStyleAttributeName)富文本删除线失效不显示的坑
    Mac终端操作命令
    解决设置selectedBackgroundView后会把cell上带背景颜色的控件遮住的问题
    iOS开发字体大全
    UITapGestureRecognizer的用法
    UIButton设置图片和标题上下垂直分布的总结
    Xcode8.3.2制作静态库
    多线程
  • 原文地址:https://www.cnblogs.com/deepJL/p/15954549.html
Copyright © 2020-2023  润新知