目录
环境
基于centos系统
理解docker三大组成
镜像:类似于Java的类,相当于一个模板
容器:类似于Java的对象,一个镜像可以额对应多个容器,有镜像才有容器
仓库:存放镜像的地方
安装docker
//安装yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2
//设置docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//安装docker
yum install docker-ce
可以配置镜像加速(非必要)
docker启动关闭相关
启动:systemctl start docker
停止:systemctl stop docker
重启:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
镜像相关
查找镜像:
docker search [OPTIONS] TERM
下载镜像:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
例子:docker pull java或者docker pull java:8
查看镜像:docker images
删除镜像:docker rmi [OPTIONS] IMAGE [IMAGE...]
容器相关
启动容器:以Ubuntu为例。使用docker run的命令。-i 和 -t命令一般都是连用的,用于交互式命令行
--interactive Keep STDIN open even if not attached
--tty Allocate a pseudo-TTY
这个时候我们进入ubuntu容器
如何退出?
使用exit或者CTRL+P+Q
区别:exit使容器关闭,CTRL+P+Q让容器以线程继续运行。
用于不交互:docker run -d redis,如redis环境,两种方式比较如下图
使用redis命令行案例:
进入以线程继续运行的容器,以ubuntu为例:
- docker exec -it [id] bash 使用exit不会停止容器
- docker attach [id] 使用exit会停止容器
关闭容器:docker stop [id]
启动已经关闭的容器:docker start [id]
列出当前所有运行的容器:docker ps
列出所有容器:docker ps -a
删除运行中的容器:docker rm -f [id]
备份容器为镜像
- docker export [id] > [name.tar]
- cat [name.tar] | docker import - [name]
- docker images // 可以看到已经打出镜像
实例
docker export f9ee1f9c4b65 > test.tar
cat test.tar | docker import - lt:0.0.1
docker images