docker简单学习及常用命令

一、Docker 简介

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

二、Docker 的用途

Docker 的主要用途,目前有三大类。

(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

三、关于Docker的几个概念

镜像

Docker 镜像就是系统环境的载体。

Docker 镜像是 Docker 容器运行时的只读模板,类似于虚拟主机本体。

从 Docker 镜像仓库中可以找到大量可用的镜像,你可以按照自己的需求自行搜索,比如寻找一个安装了 PyTorch+Jupyter Notebook 的系统镜像。

容器

每一个 Docker 容器都是从 Docker 镜像中创建的。

之所以有容器的存在,因为镜像是只读的。当我们通过镜像运行一个系统环境(虚拟机)时,Docker 就会创建一个容器来容纳这个系统环境。我们在这个环境中进行的修改(包括创建文件、安装新软件包等等),相当于都是在容器中进行的,不会影响到原来的镜像。

在我们想分享修改后(比如安装了新软件包)的系统时,我们可以执行“commit”命令。这时被我们修改过的容器,就会提交到镜像中,形成新版本的镜像。这个过程特别像GitHub的使用。我们从GitHub上clone下代码,修改,然后直到 commit 提交。

简单来说,容器可以视为镜像的“运行态”。

Docker Hub

官方的镜像发布网站,你在这里可以找到自己需要的镜像。

四、Docker 常用命令

# 列出所有容器ID

docker ps -aq

# 查看所有运行或者不运行容器

docker ps -a

# 停止所有的container(容器),这样才能够删除其中的images

docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq) 

# 如果想要删除所有container(容器)的话再加一个指令

docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq) 

# 查看当前有些什么images

docker images ls

# 删除images(镜像),通过image的id来指定删除谁

docker rmi <image id>

# 停止、启动、杀死、重启一个容器

docker stop Name或者ID  
docker start Name或者ID  
docker kill Name或者ID  
docker restart name或者ID

docker进入容器,查看配置文件

docker exec :在运行的容器中执行命令
        -d :分离模式: 在后台运行
        -i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
        -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker exec -it  f94d2c317477 /bin/bash

参考

https://zhuanlan.zhihu.com/p/38144369

https://bbs.huaweicloud.com/blogs/211739

https://bbs.huaweicloud.com/blogs/133713

https://zhuanlan.zhihu.com/p/31742065

一些比较好的学习docker的网站

https://www.runoob.com/docker/docker-tutorial.html

https://yeasy.gitbook.io/docker_practice/

http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

一些比较好的总结

https://hijiangtao.github.io/2018/04/17/Docker-in-Action/

https://www.zhihu.com/question/49635954

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值