博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker概述及基础操作
阅读量:5152 次
发布时间:2019-06-13

本文共 2861 字,大约阅读时间需要 9 分钟。

docker概述

容器技术已经成为应用程序封装和交付的核心技术
容器技术的核心有以下几个内核组成
CGroups-资源管理
NamsSpace-进程管理
SElinux-安全
由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速
docker是完整的一套容器管理系统,提供了一组命令,绕过用户更加方便直接的使用容器技术
不需要过多关系底层内核技术
优点:相对于传统的虚拟化技术,容器更加简洁高效,传统虚拟机需要给每个vm安装操作系统
      容器使用共享库和程序
缺点:容器的隔离性没有虚拟化强,共用Linux内核,安全性有先天缺陷
      selinux难以驾驭,监控容器和容器排错是挑战
docker基本概念
镜像:在docker中容器是基于镜像启动的,镜像是启动容器的核心
      镜像采用分层设计,使用快照的cow技术,确保底层数据不丢失
      查看镜像用docker images ,官方提供的镜像仓库https://hub.docker.com
镜像命令列表
docker images(查看镜像列表)
docker history(查看镜像制作历史)
docker inspect(查看镜像详细信息)
docker pull(下载镜像)
docker push(上传镜像)
docker rmi(删除本地镜像)
docker save(镜像另存为tar包)
docker load(使用tar包导入)
docker search(搜素镜像)
docker tag(修改镜像名称和标签)
容器命令列表
docker run(运行容器)
docker ps(查看容器列表)
docker start/stop/restart(启动/停止/重启容器)
docker attach(进入容器)
docker exec(进入容器)
docker inspect(查看容器详细信息)
docker top(查看容器进程列表)
docker rm(删除容器)
docker create -it centos(create创建一个容器而 不启动)
docker安装(需要64位的操作系统,强烈推荐centos7以上的版本,关闭iptables)
[root@x ~]# rpm -ivh docker-engine
[root@x ~]# rpm -ivh docker-engine-selinux或者直接yum -y install docker
[root@x ]# systemctl start docker(启动服务)
[root@x ]# docker version (查看docker信息)
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-68.gitec8512b.el7.centos.x86_64
 Go version:      go1.8.3
 Git commit:      ec8512b/1.12.6
 Built:           Mon Dec 11 16:08:42 2017
 OS/Arch:         linux/amd64
Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-68.gitec8512b.el7.centos.x86_64
 Go version:      go1.8.3
 Git commit:      ec8512b/1.12.6
 Built:           Mon Dec 11 16:08:42 2017
 OS/Arch:         linux/amd64
镜像操作
[root@x ]# docker search xx(搜索镜像)
[root@x ]# docker pull xx(下载镜像)
[root@x ]# docker push xx(上传镜像)
[root@x ]# docker images(查看镜像库)
[root@x ]# docker rmi xx(删除镜像)
[root@x ~]# docker load < xx.tar(导入镜像,通过tar包文件导入镜像)
[root@x ~]# docker save image_name > x.tar(导出镜像,将本地镜像到出为tar文件)
容器操作
[root@x ~]# docker run -itd centos(启动交互式容器,并在后台运行)
[root@x ]# docker stop container id(停止容器)
[root@x ]# docker rm container id(删除容器)
[root@x~]# docker ps -a(查所有容器)
[root@x~]# docker ps -l(查看在运行的容器)
[root@x~]# docker attach container id bash(进入在运行的容器,退出是会关闭容器)
[root@x~]# docker exec container id bash(进入在运行的容器,退出不会关闭容器,execl后面不加bash可能会报错)
实例:
[root@x docker]# docker pull docker.io/nginx
[root@x docker]# docker pull docker.io/mysql/mysql-server
[root@x docker]# docker pull docker.io/php
[root@x docker]# docker pull docker.io/tomcat
[root@x docker]# docker pull docker.io/centos
[root@x ~]# docker run -itd centos(在后台运行)
[root@x ~]# docker ps -a(查看信息)
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
cfe74af0de3e        centos              "/bin/bash"         14 seconds ago      Exited (0) 13 seconds ago                       sleepy_snyder
[root@x ~]# docker attach cfe74af0de3e (进入容器)
[root@x ~]# docker stop cfe74af0de3e(停止容器)
cfe74af0de3e
[root@x ~]# docker rm cfe74af0de3e(删除容器,正在运行的容器先停止在删除)
cfe74af0de3e
[root@x ~]# docker rm $(docker ps -qa)(容器太多时可以用脚本删除)

转载于:https://www.cnblogs.com/Hydraxx/p/8636005.html

你可能感兴趣的文章
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>