参考:https://www.phpmianshi.com/?id=220
核心概念
docker的三大核心概念:镜像、容器、仓库
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,
可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。
仓库:类似代码仓库,是Docker集中存放镜像文件的场所。
安装
前置条件:
64-bit 系统
kernel 3.10+
1.检查内核版本,返回的值大于3.10即可。
$ uname -r
3.10.0-514.26.2.el7.x86_64
2.使用 sudo 或 root 权限的用户登入终端。
3.确保yum是最新的
$ yum update
4.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ yum install -y yum-utils device-mapper-persistent-data lvm2
5.设置yum源(选择其中一个)
$ yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
查看所有仓库中所有docker版本
$ yum list docker-ce --showduplicates | sort -r
6.安装 Docker yum install docker-ce-版本号 比如:yum install docker-ce-18.03.1.ce 或者直接 yum install -y docker-ce安装最新版本
$ yum install -y docker-ce
安装成功后,使用docker version命令查看是否安装成功
7.启动docker
$ systemctl start docker.service
8.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
使用docker version命令查看
9.设置开机自启动
$ sudo systemctl enable docker
10.安装docker-compose 参考官网:https://docs.docker.com/compose/install/#install-compose
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker images //查看本地镜像
运行一个docker容器
容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。(/bin/bash命令语句必须要放在镜像名的后面)
docker run -i -t centos /bin/bash
通过docker ps命令可以列出当前所有正在运行的container
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd81256d3c96 centos "/bin/bash" About a minute ago Up About a minute focused_bose
下面命令将会停止上面启动的实例,这样就会自动强制退出容器
docker stop fd81256d3c96
到此为止docker就完全安装好了。
其他:
搜索可用的docker镜像
docker search tutorial
下载镜像
docker pull learn/tutorial
常用命令
docker ps -l //列出最近一次启动的,且正在运行的container
docker ps -a //列出所有的container
docker run -p 80:8080 <image> <cmd> //映射容器的8080端口到宿主机的80端口
docker rm `docker ps -a -q` //删除所有容器
docker rm $CONTAINER_ID //删除容器id为CONTAINER_ID的容器
docker images //查看本地镜像
docker attach $CONTAINER_ID //启动一个已存在的docker实例
docker stop $CONTAINER_ID //停止docker实例(或者直接退出容器登陆;不然这个命令执行后也会强制退出容器的登陆)
docker restart $CONTAINER_ID 重启一个容器
docker logs $CONTAINER_ID //查看docker实例运行日志,确保正常运行
容器的日志
则可以通过 docker logs
命令来访问,而且可以像 tail -f
一样,使用 docker logs -f
来实时查看。
docker inspect $CONTAINER_ID //查看container的实例属性,比如ip等等