• docker的安装以及使用命令


    docker的安装

    安装docker

    https://docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository

    从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
    Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
    本文介绍 Docker CE 的安装使用。
    

    移除旧的版本:

    sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine
    


    安装一些必要的系统工具:

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

    添加软件源信息:

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    

    更新 yum 缓存:

    sudo yum makecache fast
    

    安装 Docker-ce:

    sudo yum install docker-ce docker-ce-cli containerd.io
    

    启动 Docker 后台服务

    sudo systemctl start docker
    

    开机自启动docker

    sudo systemctl enable docker
    

    测试运行 hello-world

    docker run hello-world
    

    镜像加速(也可用阿里的私有镜像库)

    DOCKER镜像仓库地址
    https://hub.docker.com/explore/
    
    下载镜像方法:docker pull 镜像名:版本 go-ethereum Docker镜像下载地址:
    

    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决

    网易的镜像地址:http://hub-mirror.c.163.com

     vim /etc/docker/daemon.json
     
    {
    	 "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    

    重新启动docker

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    删除 Docker CE

    执行以下命令来删除 Docker CE:
    
    sudo yum remove docker-ce
    sudo rm -rf /var/lib/docker
    

    Docker版本查看

    docker -v
    
    [root@bogon ~]# docker -v                                                                                                                  
    Docker version 1.13.1, build 94f4240/1.13.1
    
    Docker安装完成
    

    2.3 Docker的启动与停止

    systemctl命令是系统服务管理器指令

    启动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
    

    3.1 镜像相关命令

    3.1.1 查看镜像

    docker images
    

    REPOSITORY:镜像名称

    TAG:镜像标签

    IMAGE ID:镜像ID

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

    SIZE:镜像大小

    这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

    3.1.2 搜索镜像

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

    docker search 镜像名称
    

    NAME:仓库名称

    DESCRIPTION:镜像描述

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

    OFFICIAL:是否官方

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

    3.1.3 拉取镜像

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

    docker pull 镜像名称
    

    例如,我要下载centos7镜像

    docker pull centos:7
    

    3.1.4 删除镜像

    按镜像ID删除镜像

    docker rmi 镜像ID
    

    删除所有镜像

    docker rmi docker images -q
    

    3.2 容器相关命令

    3.2.1 查看容器

    查看正在运行的容器

    docker ps
    

    查看所有容器

    docker ps –a
    

    查看最后一次运行的容器

    docker ps –l
    

    查看停止的容器

    docker ps -f status=exited
    

    3.2.2 创建与启动容器

    创建容器常用的参数说明:

    创建容器命令:docker run

    -i:表示运行容器

    -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

    --name :为创建的容器命名。

    -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

    -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

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

    (1)交互式方式创建容器

    docker run -it --name=容器名称 镜像名称:标签 /bin/bash
    
    docker run -it --namae=myCentos centos:7 /bin/bash
    

    这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态

    退出当前容器

    exit
    

    (2)守护式方式创建容器:

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

    登录守护式容器方式:

    docker exec -it 容器名称 (或者容器ID)  /bin/bash
    
    docker exec -it myCentos2 /bin/bash
    

    3.2.3 停止与启动容器

    停止容器:

    docker stop 容器名称(或者容器ID)
    
    
    docker stop myCentos2(ID)
    

    启动容器:

    docker start 容器名称(或者容器ID)
    
    
    docker start myCentos
    

    3.2.4 文件拷贝

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

    docker cp 需要拷贝的文件或目录 容器名称:容器目录
    
    docker cp anaconda-ks.cfg myCentos2:/usr/local
    

    也可以将文件从容器内拷贝出来

    docker cp 容器名称:容器目录 需要拷贝的文件或目录
    
    docker cp myCentos2:/usr/local/anaconda-ks.cfg anaconda-ks2.cfg
    

    3.2.5 目录挂载

    我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
    创建容器 添加-v参数 后边为 宿主机目录:容器目录,例如:

    docker run -di --name:mycentos3-v /usr/local/myhtml:/usr/local/myhtml centos:7 
    
    docker run -id(-di) --name=myCentos3 -v /usr/local/myhtml:/usr/local/myhtml centos:7
    

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

    这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题

    3.2.6 查看容器IP地址

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

    docker inspect 容器名称(容器ID) 
    
    docker inspect myCentos3
    

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

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

    3.2.7 删除容器

    删除指定的容器:

    docker rm 容器名称(容器ID)
    
    docker rm mycentos3         //删除容器是必须要保证该容器未运行
    
    BarryDeng
  • 相关阅读:
    从SVN下检出项目内容【步骤】
    添加购物车,或者存入缓冲中
    接触的电商项目中使用框架编写代码的常用点
    sql语句中【模糊查询like的使用】
    总结:String类型与Int类型的转换【实现插入操作主键自增】
    自定义TextView跑马灯效果
    Re-installation failed due to different application signatures解决方案
    使用Afinal提交的数据到服务器时,数据中带空格或是有换行操作时报错【处理方案】
    解决ScrollView嵌套ListView冲突问题,并且添加阻尼效果
    使用eclipse截取客户端当前页图片
  • 原文地址:https://www.cnblogs.com/TJ21/p/14574560.html
Copyright © 2020-2023  润新知