Docker安装
环境:CentOS7 .安装过程中要先查看操作系统的内核是否匹配,否则是安装不成功的。
更新 yum 仓库,确保 yum 包都是最新版本
yum update
查看是否有安装 docker,若有则将其删除
yum list installed|grep docker
yum remove docker #假如安装过,则移除docker
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置 yum 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看仓库中所有 docker 版本
yum list docker-ce --showduplicates | sort -r
安装 docker
yum install -y docker-ce
设置 docker 开机自动启动
systemctl start docker #启动docker服务端
systemctl enable docker #设置开机启动
校验 docker 是否启动成功
docker version
至此,docker的安装已经成功。
docker的基本使用:
1.启动容器
docker run IMAGE [COMMAND] [ARGS...]
run :命令会检测当前要运行的镜像在本地存不存在,若不存在他会自动 pull 下来再运行.当运行会创建一个容器,并且开启一个文件系统,我们可以在这个容器里面创建文件夹,运行程序等等操作,等我们退出了这个容器之后,容器会自动关闭。运行的容器是无法直接关闭的,我们可以通过f参数进行强制性关闭。
例:docker run centos
2.启动守护式容器:
什么是守护式容器,对于这个概念来说,我的理解是,我们创建好容器之后就关闭看,在我们实际应用中,我们需要长期运行的容器。这就是守护式容器。守护式容器的特点:长期运行,没有交互式的会话,适合运行应用程序和会话.
docker run -i -t IMAGE /bin/bash
例如: docker run -i -t centos /bin/bash
退出:exit,假如输入exit退出,那么退出之后这个容器将会关闭。
退出但不关闭容器:Ctrl+P Ctrl+Q
3.查看容器
docker ps [-a] [-l]
-a:表示列举所有的容器
-l :表示列举最近创建的容器.
默认情况容器在运行之后就停止了,ps只是显示正在运行的容器.
4.查看容器的详细信息
docker inspect [容器名字|容器唯一标识]
5.创建自定义容器:
docker run --name=自定义名 -i -t IMAGE /bin/bash
例如:
docker run --name=web1 -i -t centos /bin/bash
6.重新启动停止的容器:
docker start [-i] 容器名
7.删除停止的容器:
docker rm 容器名 #只能删除已经停止的容器,正在运行的是无法进行删除的
8.批量删除停止中的容器
docker rm $(docker ps -aq)
9.删除正在启动中的容器:
docker rm -f 容器名
10.启动守护式容器:
docker run -it -d 镜像名
docker run --name dc1 -it -d centos #-d是创建一个守护式容器,在后台启动。
或者:docker run --name dc1 -d centos /bin/bash -c "while true; do echo helloworld;sleep 1;done"
11.查看容器日志:
docker logs [-f] [-t] [--tail] 容器名
-f --follow=true|false 默认为false 一致跟踪日志的变化,并返回结果
-t --timestamps=true|false 默认为false 在返回的结果上加上时间戳
--tail = “all” 返回后几行的日志数据.
例如:docker logs -f -t --tail 50 dc1
12.查看容器内进程
docker top 容器名
例如:docker top dc1
13.在运行中的容器内启动新进程:
docker exec [-d] [-i] [-t] 容器名
例如:docker exec -i -t dc1 /bin/bash
14.停止守护式容器:
docker stop 容器名 :发送一个信号给容器,等待容器的关闭.
例如: docker stop dc1
ocker kill 容器名 :直接停止容器.
例如: docker kill dc1