Linux 上Docker的安装与使用入门

Docker的三大核心概念:镜像、容器、仓库

镜像:类似虚拟机的镜像、用俗话说就是安装文件。

容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,

可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。

仓库:类似代码仓库,是Docker集中存放镜像文件的场所。

 

简单介绍一下在CentOS上安装Docker。

 

前置条件:

64-bit 系统

kernel 3.10+

 

1.检查内核版本,返回的值大于3.10即可。

  $ uname -r

CSDN 原文:https://blog.csdn.net/qq_36892341/article/details/73918672?utm_source=copy

 

1. 安装Docker

 yum install docker.x86_64 
 


2. 启动Docker


service docker start
 

把Docker 加入到开机自启动

chkconfig docker on
3. 去docker 仓库查找image

  1.  
    [root@ ~]# docker search centos
  2.  
    INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  3.  
    docker.io docker.io/centos The official build of CentOS. 3827 [OK]
  4.  
    docker.io docker.io/ansible/centos7-ansible Ansible on Centos7 103 [OK]
  5.  
    docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x8... 90 [OK]
  6.  
    docker.io docker.io/tutum/centos Simple CentOS docker image with SSH access 33

 

4.  下载image 到本地

docker pull docker.io/centos

5. 查看刚刚下载下来的image


  1.  
    [root@ ~]# docker images
  2.  
    REPOSITORY TAG IMAGE ID CREATED SIZE
  3.  
    docker.io/centos latest d123f4e55e12 2 weeks ago 196.6 MB


6. 启动容器,放到后台,不退出,并查看启动的容器id


  1.  
    [root@ ~]# docker run -dt docker.io/centos /bin/bash
  2.  
    abe3a1f3063de369beb91d3679f11e5f61c0fad91e418022e9b868fb2632cb33
  3.  
    [root@smsgw1 ~]# docker ps -a
  4.  
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  5.  
    abe3a1f3063d docker.io/centos "/bin/bash" 9 seconds ago Up 8 seconds cocky_wozniak



7. 进入容器


docker exec -ti abe3a1f3063d /bin/bash
 

 

8. 进入容器后安装JDK 8

[root@abe3a1f3063d /]# yum install java-1.8.0-openjdk.x86_64
 

安装完后保持为新的镜像

docker commit 5ed1587b3923 centos/java8
 

9. 安装这个是 为了运行tomcat, 刚才启动docker的时候,没有带上端口映射的参数。我们退出去再启动下


[root@abe3a1f3063d /]# exit
 

10. 关闭并删除容器


  1.  
    [root@ ~]# docker ps -a
  2.  
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3.  
    abe3a1f3063d docker.io/centos "/bin/bash" 11 minutes ago Up 11 minutes cocky_wozniak
  4.  
    [root@smsgw1 ~]# docker stop abe3a1f3063d
  5.  
    abe3a1f3063d
  6.  
    [root@ ~]# docker ps -a
  7.  
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  8.  
    abe3a1f3063d docker.io/centos "/bin/bash" 12 minutes ago Exited (137) 17 seconds ago cocky_wozniak
  9.  
    [root@smsgw1 ~]# docker rm abe3a1f3063d


11. 重启启动容器


docker run -dt -p 8080:8080 -p 8990:8990 centos/java8 /bin/bash
指定port range: 

docker run -dt -p 7000-8000:7000-8000 centos/java8 /bin/bash

挂接本地磁盘到容器 docker run -dt -p 7000-8000:7000-8000 -v /usr/local/home:/usr/local/container/home centos/java8 /bin/bash

 


12. 从新进入镜像,就像在 Linux下一样,执行你想做的操作吧。


docker exec -ti 5ed1587b3923 /bin/bash
 


13. copy宿主机器的文件到容器:

docker cp /host-path/file <containerId>:/containter-path

docker cp /home/msg/name.tar 5ed1587b3923:/home/software

来源:CSDN 原文:https://blog.csdn.net/powerccna/article/details/77897693?utm_source=copy 

 

posted @ 2018-10-10 15:50  比利乘二  阅读(437)  评论(0)    收藏  举报