熟悉了Linux基础的操作之后,便开始了更深层次的学习,在这里记录一下我的Docker学习之旅。
我主要是参照:https://www.runoob.com/docker/docker-tutorial.html 草鸟教程来学习的,大家也可以多多去学习。
Docker介绍
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker安装
安装需要的依赖包
yum install -y yum-utils device-mapper-persistent-data
配置稳定仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装
yum install docker-ce
验证是否安装成功
docker -v
启动Docker
systemctl start docker
加入开机自启
systemctl enable docker
Docker安装成功了,接下来来试试创建一个容器。
因为我们本地还没有镜像,所以我们用docker pull来拉取一个镜像,例如:docker pull ubuntu
启动容器:docker run -it ubuntu /bin/bash ubuntu为镜像,参数为以命令行模式进入容器。
如图就已经成功进入容器中。输入exit可退出。输入docker ps -a 就可以查看已经关闭的容器。
输入docker start +容器id可以启动容器
启动成功。要想让docker的服务在后台运行,可以通过加入参数 -d 来实现。如
docker run -itd --name ubuntu-test ubuntu /bin/bash
停止容器:docker stop +容器id
重启容器:docker restart +容器id
进入容器:在使用 -d 参数时,由于容器是后台运行的,那我们怎么进入容器呢?
指令如下:
-
docker attach
-
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
docker attach用法
使用attach的时候,退出容器会导致容器停止。
docker exec用法
从exec退出时,容器不会停止,所以exec使用较广。更多exec参数解析可见 docker exec --help
导入与导出容器
导出:docker export 1e560fca3906 > ubuntu.tar 这样能将容器快照导入到本地。
导入:cat docker/ubuntu.tar | docker import - test/ubuntu:v1 此命令即为将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1
另外,也可通过url或者指定目录来导入,如:docker import http://example.com/exampleimage.tgz example/imagerepo
删除容器:
docker rm -f +容器id 删除指定的容器;
docker container prune 删除所有处于终止状态的容器。
简单的docker知识先记录这么多,欢迎大家批评指正或对不足之处进行补充,再次再会。