docker基础知识

1、docker介绍

Docker是PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。
Docker是通过内核虚拟化技术(namespace以及cgroups等)来提供容器的资源隔离与安全保障。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机( VM)额外的操作系统开销,提高资源利用率。

组件:容器,镜像,仓库

用途:简单配置、代码流水线管理、开发效率、应用隔离、服务器整合、调试能力、多租户、快速部署

 

docker改变了什么?

面向产品:产品交付

面向开发:简化配置环境

面向测试:多版本测试

面向运维:环境一致性

面向架构:自动化扩容

 

2、docker部署

yum install docker

systemctl start docker

systemctl enable docker

 

查看docker信息

[root@izwz99hcysthbz36uveqfvz ~]# docker info

 

搜索docker镜像

[root@izwz99hcysthbz36uveqfvz ~]# docker search centos(镜像名称)

 

查看镜像(docker images信息包括:镜像仓库、标签、镜像ID、创建时间、大小)

[root@izwz99hcysthbz36uveqfvz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 9f38484d220f 5 days ago 202 MB

 

删除镜像

[root@izwz99hcysthbz36uveqfvz ~]# docker rmi centos(镜像名称)

 

镜像的导出、导入和下载

[root@izwz99hcysthbz36uveqfvz ~]# docker pull centos(镜像名称)

[root@izwz99hcysthbz36uveqfvz ~]# docker save centos > /opt/centos.tar.gz


将linux-node2的镜像导出文件上传到linux-node1机器上,然后在linux-node1机器上导入

[root@izwz99hcysthbz36uveqfvz ~]# docker load < /opt/centos.tar.gz

 

首次创建一个容器

[root@linux-node4 ~]# docker run centos /bin/echo "hehe"

hehe

 

查看容器状态

可以使用docker ps只能看见存活的容器,docker ps -a 查看全部的容器,结果信息表示:

容器ID、使用的镜像、执行的命令、创建的时间、状态、端口、名称(如果不指定,自动生成)

[root@izwz99hcysthbz36uveqfvz ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES

49a3dd40f0a1        centos              "/bin/echo hehe"    7 seconds ago       Exited (0) 6 seconds ago                       inspiring_mirzakhani

 

创建容器

--name:指定容器名称

-t:分配一个tty终端

-i:容器的标准输入保持打开的状态

[root@izwz99hcysthbz36uveqfvz ~]# docker run --name mydocker -t -i centos /bin/bash

[root@405fa58d00f9 /]# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.2  0.1  11820  1884 ?        Ss   07:40   0:00 /bin/bash

root        14  0.0  0.0  51740  1736 ?        R+   07:40   0:00 ps aux

这种方式创建自动进入容器,开启的容器只执行/bin/bash

 

启动、停止容器

[root@izwz99hcysthbz36uveqfvz ~]# docker start ID

[root@izwz99hcysthbz36uveqfvz ~]# docker stop ID

 

进入容器

[root@izwz99hcysthbz36uveqfvz ~]# docker attach 405fa58d00f9

[root@405fa58d00f9 /]# 

 

删除容器

[root@izwz99hcysthbz36uveqfvz ~]# docker rm ID

 

posted @ 2019-03-20 15:48  Moooo  阅读(154)  评论(0编辑  收藏  举报