docker命令手册

    https://www.runoob.com/docker/centos-docker-install.html

    • 该有的东西这个网站都有这里写博客是我从0在centos7的linux系统上搭建起来的步骤

    1、安装与卸载docker

    1. 安装
    1. curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    1. 卸载
    1. sudo yum remove docker \
    2. docker-client \
    3. docker-client-latest \
    4. docker-common \
    5. docker-latest \
    6. docker-latest-logrotate \
    7. docker-logrotate \
    8. docker-engine
    1. 添加docker源
    1. sudo yum-config-manager \
    2. --add-repo \
    3. 阿里源
    4. 1http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reo
    5. 清华大学源
    6. 2https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
    7. 官方源(慢)
    8. 3https://download.docker.com/linux/centos/docker-ce.repo

    2、安装与卸载docker

    查看当前系统中的docker镜像:docker images

    • REPOSITORY:表示镜像的仓库源
    • TAG:镜像的标签
    • IMAGE ID:镜像ID
    • CREATED:镜像创建时间
    • SIZE:镜像大小

    *运行容器:docker run -itd REPOSITORY:TAG

    • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
    • -d: 后台运行容器,并返回容器ID;
    • -i: 以交互模式运行容器,通常与 -t 同时使用;
    • -P: 随机端口映射,容器内部端口随机映射到主机的端口
    • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • —name=”nginx-lb”: 为容器指定一个名称;
    • —dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
    • —dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
    • -h “mars”: 指定容器的hostname;
    • -e username=”ritchie”: 设置环境变量;
    • —env-file=[]: 从指定文件读入环境变量;
    • —cpuset=”0-2” or —cpuset=”0,1,2”: 绑定容器到指定CPU运行;
    • -m :设置容器使用内存最大值;
    • —net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
    • —link=[]: 添加链接到另一个容器;
    • —expose=[]: 开放一个端口或一组端口;
    • —volume , -v: 绑定一个卷
    • REPOSITORY:TAG: 这是指用镜像源和版本镜像为基础来启动容器。
    • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

    查找需要的镜像:docker search 镜像名这里一般是模糊查询

    拖取镜像:docker pull REPOSITORY:tag

    • 默认tag是: latest
    • -t: 终端。

    删除镜像:docker rmi REPOSITORY:tag或者imagesid

    创建镜像:当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

    • 1、从已经创建的容器中更新镜像,并且提交这个镜像
    • 2、使用 Dockerfile 指令来创建一个新的镜像

    更新镜像

    更新镜像之前,我们需要使用镜像来创建一个容器。

    docker run -t -i ubuntu:15.10 /bin/bash

    在运行的容器内使用 apt-get update 命令进行更新。

    在完成操作之后,输入 exit 命令来退出这个容器。

    此时 ID 为 e218edb10161 的容器(也就是上面我们运行起来的容器id),是按我们的需求更改的容器。我们可以通过命令 docker commit 来提交容器副本。

    docker commit -m=”has update” -a=”runoob” e218edb10161 runoob/ubuntu:v2

    sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8

    各个参数说明:

    • -m: 提交的描述信息
    • -a: 指定镜像作者
    • e218edb10161:容器 ID
    • runoob/ubuntu:v2: 指定要创建的目标镜像名

    3、使用docker

    停止一个docker: docker stop <容器 ID>

    进入docker:docker exec -it <容器 ID> /bin/bash

    导入和导出容器:导出-docker export <容器 ID> > ubuntu.tar

    导入-docker import - test/ubuntu:v1

    删除容器:docker rm -f <容器 ID>