安装方法
1、查看服务器内核版本
Docker要求CentOS系统的内核版本高于3.10
uname -r #通过 uname -r 命令查看你当前的内核版本
2、首先卸载已安装的Docker(如果有)
- 2.1 确保yum包更新到最新
yum update
- 2.2 清除原有的docker,如果你的操作系统没有安装过Docker , 就不需要执行卸载命令。
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
3、安装依赖包
yum install -y yum-utils
4、建立Docker仓库 (映射仓库地址)
阿里docker镜像源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io
6、启动docker
#启动docker命令
systemctl start docker
#设置开机自启命令
systemctl enable docker
#查看docker版本命令
docker version
其他命令
sudo systemctl start docker #运行Docker守护进程
sudo systemctl stop docker #停止Docker守护进程
sudo systemctl restart docker #重启Docker守护进程
sudo systemctl enable docker #设置Docker开机自启动
sudo systemctl status docker #查看Docker的运行状态
7、测试 Docker 是否安装正常
docker run hello-world
OK了,撒花。。。
Docker基本概念介绍
- 仓库 (repository)
docker仓库是用来保存镜像的地方。镜像构建完成后,可以直接在当前宿主机上运行,但是如果需要在其它服务器上使用这个镜像,就需要一个集中存储、分发镜像的服务,docker仓库就是这样的一个服务。
- 镜像(Image)
这里面保存了应用和需要的依赖环境,比如运行的runtime和webapp等。为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们通常会有不同优先级。通过为这些独立的任务提供不同镜像
- 容器(Container)
镜像的实例。一个容器代表一个正在运行的应用程序、进程或服务。它由 Docker 镜像、执行环境和标准指令集组成。需要扩展服务时,才
真正将镜像跑起来的东西,镜像在容器里面。可以看作是一个完全隔离的盒子。一个容器镜像实例代表一个独立的进程。
- Docker常用命令
docker search --镜像名 搜索仓库镜像
docker pull --镜像名 拉取镜像
docker ps 查看目前正在运行的所有容器 (-a 显示包括已经停止的容器)
docker rmi image_id/image_name 删除镜像
docker build 使用Dockerfile创建镜像
docker run 运行容器
docker exec 进入容器中执行命令 (例如:docker exec -it container_id/container_name /bin/bash)
docker logs container_id/container_name 查看容器日志(例如:docker logs -f -t --tail 10 container_id )
docker start container_id/container_name 启动容器
docker restart container_id/container_name 重启容器
docker stop container_id/container_name 停止容器
docker rm container_id/container_name 删除容器(只能删除已停止的容器)
更多的命令可以通过docker help命令来查看。
构建镜像
docker commit:从容器创建一个新的镜像;
docker build:配合 Dockerfile 文件创建镜像。
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit -a="auther" -m="info" centos7 mycentos:7
docker build -t 镜像名 .
-a:提交的镜像作者;
-c:使用 Dockerfile 指令来创建镜像;
-m:提交时的说明文字;
-p:在 commit 时,将容器暂停。
端口映射关系:
EXPOSE并不会真正开放端口,它更像是一个说明文档,由image的开发者声明image所监听的端口,使用者以此为依据,在启动容器时,可以以不同的策略来开放端口。