• 如何在Centos7上安装&使用docker


    Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点。

    容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核。

    Docker 的局限性之一是,它只能用在 64 位的操作系统上。

    在这篇文章中我们将讨论如何在 CentOS 7.x 中安装 docker。

    CentOS 7 中 Docker 的安装

    Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:

    1. [root@localhost ~]# yum install docker

    启动 Docker 服务

    安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

    1. [root@localhost ~]# service docker start
    2. [root@localhost ~]# chkconfig docker on

    (LCTT 译注:此处采用了旧式的 sysv 语法,如采用CentOS 7中支持的新式 systemd 语法,如下:

    1. [root@localhost ~]# systemctl start docker.service
    2. [root@localhost ~]# systemctl enable docker.service

    下载官方的 CentOS 镜像到本地 (LCTT 译注:由于 Docker 被 :-< ,所以请使用 http://docker.cn  的镜像,感谢 @马全一 的镜像。 )

    1. [root@localhost ~]# docker pull centos
    2. Pulling repository centos
    3. 192178b11d36: Download complete
    4. 70441cac1ed5: Download complete
    5. ae0c2d0bdc10: Download complete
    6. 511136ea3c5a: Download complete
    7. 5b12ef8fd570: Download complete

    确认 CentOS 镜像已经被获取:

    1. [root@localhost ~]# docker images centos
    2. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
    3. centos centos5 192178b11d36 2 weeks ago 466.9 MB
    4. centos centos6 70441cac1ed5 2 weeks ago 215.8 MB
    5. centos centos7 ae0c2d0bdc10 2 weeks ago 224 MB
    6. centos latest ae0c2d0bdc10 2 weeks ago 224 MB

    运行一个 Docker 容器:

    1. [root@localhost ~]# docker run -i -t centos /bin/bash
    2. [root@dbf66395436d /]#

    我们可以看到,CentOS 容器已经被启动,并且我们得到了 bash 提示符。在 docker 命令中我们使用了 “-i 捕获标准输入输出”和 “-t 分配一个终端或控制台”选项。若要断开与容器的连接,输入 exit。

    1. [root@cd05639b3f5c /]# cat /etc/redhat-release
    2. CentOS Linux release 7.0.1406 (Core)
    3. [root@cd05639b3f5c /]# exit
    4. exit
    5. [root@localhost ~]#

    我们还可以搜索基于 Fedora 和 Ubuntu 操作系统的容器。

    1. [root@localhost ~]# docker search ubuntu
    2. [root@localhost ~]# docker search fedora

    显示当前正在运行容器的列表

    via: http://www.linuxtechi.com/install-docker-on-centos-7/

    docker 基本操作命令:

    yum -y install docker                                                           #如果报错,解决办法

    docker run 镜像 apt-get install -y wget                                  #在容器中安装新的程序(wget)

    docker images                                                                   #查看docker库中是否已经有镜像

    docker search Ubuntu                                                        #查看docker镜像库里有没有Ubuntu镜像

    docker pull Ubuntu:14.04                                                 #下载标准的Ubuntu 14.04 镜像

    docker tag 镜像ID 别名                                                       #给下载的镜像取个别名

    docker images                                                                  #可以查看是否下载成功

    docker ps -a                                                                     #查看docker环境里有多少容器

    docker start 3a09b2588478                                               #容器 ID 显示在列表左侧。我们可以重新进入容器,不过需要先启动容器。这里使用容器 3a09b2588478 作为示例,你操作时需要使用自己的容器 ID,启用容器

    docker 容器操作:

    docker run -d --name 容器名 镜像                                       #创建容器

    docker stop 容器                                                              #先停止

    docker run centos sleep 20&                                             #默认等待10秒钟再杀死指定容器。可以使用-t参数来设置等待时间

    docker rm 容器                                                                #再移除

    删除容器:docker rm CONTAINERID

    查看所有容器ID:docker ps -a -q     

    删除所有的容器:docker rm $(docker ps -a -q)

    docker exec -i -t 容器名 bash                                             #进入自己的容器

    docker exec -it 容器名 bash                                               #进入自己的容器

    docker inspect 容器                                                         #查看容器的ip

    docker port 容器名                                                          #查端口

    redis-cli -h 另一个容器ip                                                  #在容器里登陆另一个容器

    docker export 容器名或ID  >  /home/work/ubuntu.tar        #导出docker容器sudo docker save -o ubuntu_14.04.tar ubuntu:14.04

    cat ubuntu.tar | docker import  - 容器名/ubuntu:v1.0        #导入docker容器sudo docker load --input ubuntu_14.04.tar

    docker rm $(docker ps -a -q)                                          #删除所有停止的容器

    docker run  -d  -p本地端口:容器端口 -v /本地绝对路径:/容器内绝对路径 --name容器名 镜像名     #创建容器

    docker ps -a -q | xargs docker rm                                   #可以删除所有未运行的容器,docker ps -a -q列出当前运行的容器, -a 会列出所有,包括已停止的, -q 只列出容器 ID。

    docker镜像操作:

    docker search NAME                                                  #搜索可用的docker镜像

    docker history 镜像                                                        #查看镜像的历史版本

    docker push 镜像                                                           #使用以下命令将镜像推送到registry

    docker commit 做好容器  新创建的镜像名                            #将容器制作成镜像

    docker run --name 容器名 -d -p 17474:22 -v /data/test本地目录:/home/test容器目录 -h test 镜像    #新建容器全

    useradd test -d /home/test                                           #新建用户登陆到指定目录

    apt-get update && apt-get install  -y openssh-server       #容器里下载安装

    docker rmi 镜像名或镜像ID号                                          #删除镜像,先删除这个镜像启动的容器

    一次性删除所有镜像: docker rmi  $(docker images -q)

    doxker save 镜像名 >/home/work/ubuntu_ssh.tar            #将docker镜像导出

    docker  load  < /home/work/ubuntu_ssh.tar                   #将本地docker镜像导入docker环境下  

    https://docs.docker.com/engine/reference/run/

  • 相关阅读:
    抽象类和接口的区别
    排序之快速排序(quickSort)
    互联网协议入门(1)
    字符串的操作String
    Java笔试题之SQL语句(单表)
    求职之Java开发所需技能
    【更新完毕啦!】一篇完整的产品体验报告处女作
    阿里2015暑期实习生业务型产品笔试题(附部分参考答案)
    滴滴笔试题(附我的答案)
    【面试】蘑菇街产品运营二面&结果
  • 原文地址:https://www.cnblogs.com/liuyansheng/p/5888303.html
Copyright © 2020-2023  润新知