本文主要介绍 Centos 下如何安装 docker,并给出一些基本的使用 case
1. 安装说明
通过脚本进行 docker 安装,比较简单
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
执行完毕之后,启动 docker
sudo systemctl start docker
然后开始验证是否可以使用
sudo docker run hello-world
# 查看所有的容器
docker ps -a
如果安装正确,如下
2. 使用相关
1. 安装 centos 镜像
在 docker 中安装一个 centos 的镜像,然后在 docker 中的 centos 里面搞事情
安装命令: docker pull 镜像名:版本
# 安装镜像
docker pull centos
在安装之前,如果我们不确定有哪些镜像,可以怎么办?可以简单的搜索一下
# docker hub上查找centos的镜像
docker search centos
然后从上面的搜索结果中,挑选合适的镜像进行下载,然后可以查看本地镜像列表
# 查看本地镜像
# docker images -a # 查看本地所有镜像
docker images centos
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7.4.1708 295a0b2bd8ea 8 weeks ago 197MB
2. 容器使用
这一小节,主要目的就是如何加载一个镜像,启动,关闭,删除容器等操作
加载镜像
主要就是 run 方式运行容器, 下面启动一个可交互的 centos 容器
docker run -it centos
上面执行完毕之后,会进入容器内的 centos,通过 exit
退出
查看容器
查看 docker 当前加载的容器列表
docker ps -a
执行之后,可以看到刚才的 centos 对应的容器,状态为突出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e0c9c3a6545 centos "/bin/bash" 8 seconds ago Exited (0) 5 seconds ago nifty_elgamal
那么我们能再次进入这个容器么?
启动容器
想进入上面这个容器,首先得让它跑起来,通过 start 命令
# 注意后面的那串文本,为CONTAINER ID
docker start 9e0c9c3a6545
进入容器
通过 docker exec
方式进入容器,之前看到一个博文,说是有四种进入方式,这里选择 exec 方式进入
原文:Docker 容器进入的 4 种方式[1]
docker exec -it 9e0c9c3a6545 /bin/bash
上面执行完毕之后,会发现又一次进入了容器内的 centos 系统
到这里就会有个疑问
我在这个容器里面的修改是否会保留下来,我下次进来的时候,是不是这些东西还有没有
每次退出之后,容器都会停止运行么?
针对上面的两个疑问,实际的操作一下,结果如下图
容器内的修改会保留
exit 退出之后,容器并不会停止,依然是运行的状态
停止容器
如果想要关闭容器,也比较简单
docker stop 9e0c9c3a6545
删除容器
docker rm 9e0c9c3a6545
3. 定制镜像
以交互式运行 centos 镜像
docker run -it centos
然后就进入了 docker 中的 centos 操作系统了,然后可以在里面部署基本的环境,先做一个简单的演示,在 home 文件夹下初始化几个目录
cd /home/
mkdir yihui data soft
# 退出容器
exit
执行过程如下
退出容器之后,将上面我们的修改保存
docker commit 47476c86c510 yihui/centos
# 查看本地的所有镜像,会多一个 yihui/centos
docker images -a
我们改的 docker 实际上是在原始 docker 的基础上改进而来,可以通过下面的命令查看演进过程
docker history 240840e65297
接下来就是如何使用我们修改后的镜像了,首先是加载自定义的容器, 然后一番操作如下
# 加载镜像
docker run -d -it yihui/centos
# 进入容器
docker ps -a
docker exec -it 0e118346222c /bin/bash
保存后的镜像,还可以修改 tag,命令如下
docker tag xxx yihui/centos:v2
III. 其他
1. 一灰灰 Blog[2]:https://liuyueyi.github.io/hexblog
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现 bug 或者有更好的建议,欢迎批评指正,不吝感激
微博地址: 小灰灰 Blog[3]
QQ:一灰灰/3302797840
3. 扫描关注
一灰灰 blog
参考资料
[1]
Docker容器进入的4种方式: http://www.cnblogs.com/xhyan/p/6593075.html
[2]一灰灰Blog: https://liuyueyi.github.io/hexblog
[3]小灰灰Blog: https://weibo.com/p/1005052169825577/home