docker 从零开始
docker 从零开始
weiliu007 发表于11个月前
docker 从零开始
  • 发表于 11个月前
  • 阅读 19
  • 收藏 2
  • 点赞 0
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

docker 包括三个基本概念
    1.镜像(Image)
    2.容器(Container)
    3.仓库(Repository)
docker的特性:
    1.文件系统隔离:每个进程容器运行在完全独立的根文件系统里。
    2.资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源,例如CPU和内存。
    3.网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和IP地址。
    4.写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间。
    5.日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
    6.变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
    7.交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。
    docker安装与启动
  • ##构建一个docker 镜像

docker build -t cdphere/mysql:5.6 .

  • ##查看有哪些镜像文件

docker images

  • ##运行一个镜像

docker run -d -p 3306:3306 --name dbserver csphere/mysql:5.6
              -P 大写的p 指定的端口 后面重启宿主主机的端口与容器暴露的端口会变化 
docker run -d -p 3306:3306 --name dbserver -v /var/lib/docker/vfs/dir/mydata:/var/lib/mysql csphere/mysql:5.6

  • ##查看所有状态的容器

docker ps -a

  • ##进入docker容器中(交互式)

docker exec -it dbserver /bin/sh
     Docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。 
     但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。

  • ##查删除镜像

docker rm -f dbserver

  • ##停止镜像,后面这个是id 可以不用敲全,找的到就可以了

docker stop d03 

  • ##ENTRYPOINT/CMD区别

ENTRYPOINT/CMD都只能在文件中存在一次,并且最后一个生效 多个存在,只有最后一个生效,其它无效!
需要初始化运行多个命令,彼此之间可以使用 && 隔开,但最后一个须要为无限运行的命令,需切记!
ENTRYPOINT,表示镜像在初始化时需要执行的命令,不可被重写覆盖,需谨记 但是使用--entrypoint 也可以覆盖
CMD,表示镜像运行默认参数,可被重写覆盖

 

停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

参考资料:

http://git.oschina.net/itmuch/spring-cloud-book

共有 人打赏支持
粉丝 12
博文 169
码字总数 84733
×
weiliu007
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: