Docker之Docker概述,部署Docker,Docker镜像,Docker基本命令

说明:

1.docker安装参考文档在https://docs.docker.com/
2.docker加速器daocloud在https://www.daocloud.io/mirror。
    个人感觉还是下面这个方法加速好用:
    找到这个文件/etc/docker/daemon.json,没有创建,添加如下内容,重新启动docker即可。
{
    "registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"]      
}
3.docker的镜像官网站https://hub.docker.com/


一、Docker概述
1.什么是容器
    容器技术已经成为应用程序封装和交付的核心技术
    容器技术的核心有以下几个内核技术组成:
        Cgroups(Control Groups)资源隔离
        NameSpace进程隔离
        SELinux安全
    由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速

2.什么是Docker
    Docker是完整的一台容器管理系统
    Docker提供了一组命令,让用户更加方便直接的使用容器技术,而不需要过多关心底层内核技术
    
3.Docker优点
    相比于传统的虚拟化技术,容器更加简介高效
    传统虚拟机需要给每个VM安装操作系统
    容器使用的共享公共库和程序
    
4.Docker缺点
    容器的隔离性没有虚拟化强
    共用Linux内核,安全性有先天缺陷
    SELinux难以驾驭
    监控容器和容器排错是挑战
    
二、部署Docker
1.安装前准备
    需要64位操作系统
    至少RHEL6.5以上的版本
    关闭防火墙
[root@docker31 ~]# systemctl stop firewalld
[root@docker31 ~]# systemctl disable firewalld

2.安装Docker
[root@docker31 ~]# yum update
[root@docker31 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@docker31 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@docker31 ~]# yum list docker-ce --showduplicates | sort -r
[root@docker31 ~]# yum install docker
[root@docker31 ~]# systemctl start docker
[root@docker31 ~]# systemctl enable docker    
[root@docker31 ~]# docker version
[root@docker31 ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:4c:68:2b:6e  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

三、Docker镜像
1.什么是镜像
    在docker中容器是基于镜像启动的
    镜像是启动容器的核心
    镜像采用分层设计
    使用快照的COW技术,确保底层数据不丢失
[root@docker31 ~]# docker images  ==>>查看镜像
[root@docker31 ~]# docker search busybox  ==>>搜索镜像
[root@docker31 ~]# docker help search  ==>>简要帮助信息
[root@docker31 ~]# man docker-search  ==>>详细帮助信息

2.Docker Hub镜像仓库
    Docker官方提供公共镜像的仓库(Registry)
    
3.下载,上传镜像
    下载镜像(从镜像仓库中下载镜像)
[root@docker31 ~]# docker search busybox
[root@docker31 ~]# docker pull busybox     ==>>下载镜像
[root@docker31 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b792b        6 days ago          1.22MB

    上传镜像(上传镜像到仓库)
[root@docker31 ~]# docker push busybox
    
4.导入,导出镜像
    导出镜像(将本地镜像导出为tar文件)
[root@docker31 ~]# docker save busybox:latest -o busybox.tar
    
    导入镜像(通过tar包文件导入镜像)
[root@docker32 ~]# docker load -i busybox.tar 
514c3a3e64d4: Loading layer  1.442MB/1.442MB
Loaded image: busybox:latest
[root@docker32 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b792b        6 days ago          1.22MB

5.启动镜像
    启动centos镜像生成一个容器
[root@docker31 ~]# docker run -it centos:latest /bin/bash
    
    开新终端,查看容器信息
[root@docker31 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
941518d5ac38        busybox:latest      "sh"                6 seconds ago       Up 5 seconds                            sharp_beaver
    
四、Docker基本命令
1)镜像常用命令
1.命令列表
    docker images    查看镜像列表
    docker history   查看镜像制作历史
    docker pull      下载镜像 
    docker push      上床镜像
    docker rmi       删除本地镜像
    docker save      镜像另存为tar包
    docker load      使用tar包导入镜像
    docker search    搜索镜像
    docker tag       修改镜像名称和标签


    
2.docker images 
    查看镜像列表
        镜像仓库名称
        镜像标签
        镜像ID
        创建时间
        大小
        
3.docker history 
    查看镜像历史
        了解镜像制作过程
        详细参考后面的dockerfile内容
[root@docker31 ~]# docker history centos:latest
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
831691599b88        6 weeks ago         /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B                  
<missing>           6 weeks ago         /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B                  
<missing>           6 weeks ago         /bin/sh -c #(nop) ADD file:84700c11fcc969ac0…   215MB         

4.docker inspect
    查看镜像底层信息
        了解镜像环境变量,存储卷,标签等信息
[root@docker31 ~]# docker inspect centos:latest
        
5.docker rmi 
    删除本地镜像 
        注意:启动容器时删除镜像会提示错误
[root@docker32 ~]# docker rmi  centos:latest
        
6.docker save|load 
    保存本地镜像另存为tar文件
        方便其他人使用tar包导入镜像
        
7.docker tag 
    重命名镜像名称(复制)
[root@docker31 ~]# docker tag busybox:latest nsd:test 
[root@docker31 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b792b        6 days ago          1.22MB
nsd                 test                018c9d7b792b        6 days ago          1.22MB
    
2)容器常用命令
1.命令列表
    docker run   运行容器
    docker ps    查看容器列表
    docker restart 重启容器
    docker attach|exec  进入容器

容器资源限制


    
2.docker run    
    使用镜像启动容器
    
3.docker ps  
    列出容器列表
        docker ps   查看正在运行的容器
        docker ps -a  查看所有容器列表
        docker ps -aq  仅显示容器id

        docker ps -l  显示最新创建的容器
[root@docker31 ~]# docker ps -a
        
4.docker attach|exec
    进入容器
        docker attach  进入容器,exit会导致容器关闭
        docker exec    进入容器,退出时不会关闭容器
        
5.docker inspect 
    查看容器底层信息 
    
6.docker top 
    查看容器进程列表 
[root@docker31 ~]# docker ps -aq
941518d5ac38
b65af08cf5d1
ff8ff4d8596b
[root@docker31 ~]# docker top 941518d5ac38

7.docker rm 
    删除容器 
        注意,删除正在运行的容器时会提示错误
[root@docker31 ~]# docker rm 941518d5ac38

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值