docker基本知识学习

一、Centos安装docker


1、检查安装的docker

命令:yum list installed | grep docker 
2、安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2


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


命令:sudo yum install docker-ce


二、启动

命令:service docker start
docker --version  #查看版本


三、三大核心概念


1.docker镜像(p_w_picpath)

   镜像是创建docker容器的基础,docker镜像类似于虚拟机镜像,可以将它理解为一个面向docker引擎的只读模块,包含文件系统。
   例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,
   一个镜像可以创建很多容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个
   已经做好的镜像来直接使用。

   创建镜像有三种方法:

   (1)基于已有镜像的容器创建。主要是利用docker commit命令。

   (2)基于本地模板导入。推荐利用OpenVZ提供的模板来创建。

   (3)基于dockerfile创建。首先按照dockerfile的格式,编写好dockerfile文件,之后通

      过docker build命令来创建镜像。docker build会读取制定的dockerfile,由docker服务器        来创建镜像。

2.docker容器(container)

   Docker容器类似一个轻量级的沙箱,Docker利用容器来运行和隔离应用。

   容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。

   读者可以把容器看做一个简易的LINUX系统环境(这包括root用户权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序打包而成的应用盒子。

   镜像本身是只读。容器从镜像启动的时候,Docker会在镜像的最上层建一个可写层,镜像本身保持不变。 

3.docker仓库(Repository)

    仓库是存放docker镜像的地方。仓库和注册服务器(Registry)还是有区别的。注册服务器是存放仓库的地方,在其中存放了很多仓库,每个仓库存放一类镜像文件。

    仓库分为公有仓库和私有仓库,DockerHub是目前最大的公有仓库。可以通过docker push/pull命令从仓库中上传和下载镜像,docker search命令来搜索镜像。


四、常用命令:


1、查看镜像列表
docker images 
在列出信息中,可以看到几个字段信息
REPOSITORY:来自于哪个仓库,比如 ubuntu
TAG:镜像的标记,比如 14.04
IMAGE ID:它的 ID 号(唯一)
CREATED:创建时间
SIZE:镜像大小

2、查看正在运行的docker容器
docker ps
 
3、查看所有的docker容器,不管你启动没启动
docker ps -a

4、以后台方式运行docker镜像,-d是后台
如:docker run -p -d 81:80 nginx
-p 宿主机端口:容器端口     #开放容器端口到宿主机端口
ngix为镜像名称

5、查看容器的信息
 docker inspect 容器id
 
 
6、删除docker镜像(需要注意的是,删除镜像前先删除镜像中的容器)
docker rmi 镜像id
 
7、删除容器
docker rm 容器id


8、进入容器内部(需要保证容器是运行的)
sudo docker exec -it containerID /bin/bash
退出容器
exit 

 

9.拉取镜像

docker pull tomcat   拉取tomcat的镜像

拉取镜像之前,可以用: docker search tomcat,查找tomca有哪些t镜像

 

10.停止容器

docker stop $CONTAINER_ID(容器id)

 

11.启动已经存在的容器

docker start $CONTAINER_ID(容器id)

 

12.查看端口映射情况

docker port $CONTAINER_ID(容器id)

 

五、解决拉取镜像很慢的问题

在/etc/docker/daemon.json文件中添加下面参数
{
“registry-mirrors” : [“http://hub-mirror.c.163.com”]
}

然后重启
service docker restart

如果你的linxu系统中,/etc/docker目录下,不存在daemon.json的文件,你可以自己手动创建,里面添加参数即可

 

 

个人知识理解:在平常的linux系统中,假如我们部署一个java项目,假设用到的容器为tomcat,连接的数据库为mysql,缓存用redis,在linxu系统中,我们正常要满足运行一个项目的前提条件是,安装好jdk,tomcat,redis,mysql等软件。而在docker中。我们实现的前提则是,拉取一个tomcat镜像,运行tomcat对应的docker容器,将web项目放入tomcat中,再拉取mysql镜像,运行mysql容器,放入tomcat容器中的项目则配置好相对应的地址就行。还拉取其他的一些镜像等等。

总而言之就是,一个环境对应一个镜像,而不是在一个镜像中,拉取很多需要的环境,如tomcat,jdk。

个人理解有错误的地方,欢迎大家留言指点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值