zoukankan      html  css  js  c++  java
  • Docker-Windows常用命令

    Docker-Windows常用命令

    2020-04-19

    参考链接:Docker初识

    下载安装

    安装完成后,若需要更改默认镜像位置,在设置里更改。更改设置中的配置,都需要重启,很费事。

    安装后,可以运行一下hello-world这个仓库,检查一下是否成功。

    docker pull hello-world
    docker run hello-world
    

    配置阿里云镜像加速

    国内访问Docker的速度慢,有两种解决方案:配置代理或者使用阿里云的镜像。阿里云的速度更有保证。

    在阿里云的控制台,搜索容器镜像服务,然后在镜像中心--镜像加速器。复制一下我的加速器网址,粘贴到"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"], 即可。

    检查加速器配置是否生效,docker info,如果从结果中看到了Registry Mirrors: https://xxxx,说明配置成功。

    安装Ubuntu镜像

    我们从Doker Hub获取镜像。

    先搜索Ubuntu镜像。docker search ubuntu。返回的第一个就是Ubuntu的官方镜像。

    2. docker pull

    docker pull [选项] ['Docker Registry'地址 [:端口号] /] 镜像名 [:标签]

    地址的格式一般是<域名/IP>[:端口号]。默认地址是 Docker Hub,但我们已经将其修改为阿里云的加速器。

    docker pull training/webapppythonapp

    docker pull busybox :是一个集成了三百多个最常用Linux命令和工具的软件,简化的Linux系统

    docker pull ubuntu 即可将镜像拉到本地。

    3. docker image

    使用 docker image ls 查看所有本地镜像;

    删除镜像docker image rm xx/xx即可

    查看容器状态

    docker ps只返回正在运行的容器

    docker ps -a 查看所有容器(运行&没有运行)

    启动容器

    • 基于镜像(image)新建一个容器并启动,
    • 将在终止状态(stopped)的容器重新启动。

    方式一:docker run

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    COMMAND: 容器启动后进入容器中要执行的命令.

    OPTIONS(常用选项)

    • -d:让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下
    • -t:选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
    • -i:则让容器的标准输入保持打开。
    • --name:为容器命名
    • -v:创建数据卷,就是主机和docker之间的映射关系。
    • -p:绑定端口

    举例1:docker run -p 8000:5000 –-name web training/webapp

    -p绑定本地8000端口,映射到容器的5000端口。也可以绑定多个端口。

    新建了一个名为web,基于training/webapp镜像的容器。

    在本地浏览器中,打开localhost:8000即可查看输出。

    举例2:后台运行-d

    docker run –d –p 8000:5000 training/webapp

    举例3:交互运行

    启动一个 bash 终端,允许用户进行交互。

    docker run -t -i CONTAINER [CONTAINER...] /bin/bash

    比如 docker run -t -i centos /bin/bash

    方式二:(1)docker stop

    通过 docker ps可得到CONTAINER ID,直接使用这个ID即可。

    docker stop 10fc ,只用ID的一部分也可以。

    (2)docker start

    启动一个停止的容器,和stop命令一样,可以使用ID的一部分即可。

    注意这里只能启动!不能打开交互式bash

    (3)docker exec -i -t CONTAINER /bin/bash

    打开交互式窗口。针对已经启动,正在后台运行的容器。这是条很实用的命令。

    重启和删除

    docker restart

    重启容器。

    docker rm

    删除容器前,请先关闭容器

    查看日志

    docker logs [OPTIONS] CONTAINER

    options:
            --details        显示更多的信息
        -f, --follow         跟踪实时日志
            --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
            --tail string    从日志末尾显示多少行日志, 默认是all
        -t, --timestamps     显示时间戳
            --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
    

    主机和容器间文件互传

    docker cp CONTAINER:/home/user d:/xxx

    这是从容器向主机拷贝文件。容器的路径写法一定要加上ID

    如果把顺序反过来,就是主机向容器拷贝文件。

    不仅能拷贝文件,文件夹也可以

    数据卷

    相当于把主机上的盘挂载到容器上,所以有以下优点:

    1. 数据卷 可以在容器之间共享和重用
    2. 对 数据卷 的修改会立马生效
    3. 对 数据卷 的更新,不会影响镜像
    4. 数据卷 默认会一直存在,即使容器被删除
    5. 如果在本机修改代码,在容器中也能看到。方便将本地主机的代码运行在容器中。

    设置方法如下:

    • 在设置中打开Shared Drives
    • 设置本地和容器的挂载目录。

    docker run -v f:/docker:/opt/docker ubuntu
    主机挂载点是f:/docker,容器挂载点是/opt/docker

    使用阿里云的镜像

    我们以配置PHP开发环境为例

    下载阿里云的lamp镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/itsource/centos-lamp:[镜像版本号]

    • registry.cn-hangzhou.aliyuns.com/itsource:Docker Registry地址
    • centos-lamp:镜像名
    • 镜像版本号就是TAG(标签)的值

    创建lamp容器并运行

    docker run -itd -p 80:80 -p 3306:3306 --name lamp --privileged=true -v D:/www/default:/data/wwwroot/default ec258725b54b /usr/sbin/init

    • -p 分配了两个端口
    • --privileged=true 让container内的root拥有真正的root权限
    • ec25... 这是pull下来的镜像的ID

    制作本地镜像

    docker commit -a "author-name" -m "message" ID Name:版本

    docker commit有些选项:

    • -a :提交的镜像作者;
    • -m :提交时的说明文字;
    • -p :在commit时,将容器暂停。

    导出

    docker save ID -o d:/xxx/centos-lamp-v2.tar

    加载本地镜像文件

    docker load -i d:/xxx/centos-lamp-v2.tar

  • 相关阅读:
    SP1716 GSS3
    A Simple Problem with Integers题解
    P4528 [CTSC2008]图腾 题解
    P1498 南蛮图腾 题解
    P2024 [NOI2001]食物链 题解
    Windows编程 Windows程序的生与死(中)
    Windows编程 Windows程序的生与死(上)
    C#实现在注册表中保存信息
    沿路径动画(Animation Along a Path)
    倾斜动画(SkewTransform)
  • 原文地址:https://www.cnblogs.com/rongyupan/p/12734678.html
Copyright © 2011-2022 走看看