Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
测试环境:centos7.6
Docker安装
- 环境要求
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r
命令查看你当前的内核版本
[root@localhost ~]# uname -r
3.10.0-957.5.1.el7.x86_64
- 安装docker
使用yum
安装和脚本两种安装方法都可以,亲测yum
能快点。注意使用sudo
或root
权限登录Centos
。要是需要安装最新版本的就使用脚本安装方法。
# 先更新下yum包
sudo yum update
# 使用yum安装
yum install -y docker
# 使用脚本安装
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- 启动docker
# 启动docker
sudo systemctl start docker
# 重启docker
sudo systemctl restart docker
- 查看docker版本
[root@localhost ~]# docker --version
Docker version 18.09.2, build 6247962
- 设置镜像加速
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
- 设置开机自启
# 设置开机启动
systemctl enable docker
# 将指定用户添加到用户组
usermod -aG docker root
Docker常用命令
1. docker version
显示docker版本信息
2. docker info
显示docker系统信息
3. docker search
从Docker Hub查找镜像docker search php
查找php的镜像
4. docker images
列出本地镜像
5. docker ps
列出所有在运行的容器信息docker ps -a
显示所有的容器,包括未运行的
6. docker pull
从镜像仓库中拉取或者更新指定镜像docker pull codehi/nginx:v1
拉取自己仓库的nginx镜像
7 docker start/stop/restart
启动/停止/重启容器docker stop mynginx
停止运行中的容器mynginx
docker stop `docker ps -a -q` 停止所有容器
8. docker rm
删除一个或多个容器docker rm mynginx
删除容器mynginx,正在运行中的容器需要stop后才能删除,或者使用强制删除。docker rm -f mynginx
强制删除运行中的容器mynginx
docker rm `docker ps -a -q` 删除所有容器
9. docker rmi
删除本地一个或多个镜像docker rmi codehi/nginx:v1
删除镜像codehi/nginx:v1docker rmi -f codehi/nginx:v1
强制删除
docker rmi `docker images -q` 删除所有镜像
10. docker logs
获取容器的日志docker logs -f mynginx
跟踪容器mynginx的日志,实时输出的。
11. docker history
查看指定镜像的创建历史docker history codehi/nginx:v1
查看本地镜像codehi/nginx:v1的创建历史
12. docker login
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker login
登录至Docker Hub,下一步会提示输入账号密码
13. docker logout
登出Docker Hub
14. docker push
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库docker push codehi/nginx:v1
将本地镜像codehi/nginx:v1镜像推送到docker hub仓库中
15. docker commit
从容器创建一个新的镜像docker commit -a "codehui" -m "test" 3218b3ad4e47 codehi/nginx:v1
3218b3ad4e47 保存为新的镜像codehi/nginx:v1,并添加提交人信息(codehui)和说明信息(test)
16. docker tag
标记本地镜像,将其归入某一仓库docker tag nginx:v1 codehi/nginx:v2
将镜像nginx:v1标记为 codehi/nginx:v2 镜像
17. docker save
将指定镜像保存成 tar 归档文件docker save -o codehi-nginx-v1.tar codehi/nginx:v1
将镜像codehi/nginx:v1生成codehi-nginx-v1.tar归档文件
18. docker load
从归档文件中创建镜像docker load -i codehi-nginx-v1.tar
从镜像归档文件codehi-nginx-v1.tar创建镜像
19. docker export
将文件系统作为一个tar归档文件导出到STDOUTdocker export -o codehi-nginx-v1.tar mynginx
将容器mynginx保存为tar文件。
20. docker import
从归档文件中创建镜像docker import codehi-nginx-v1.tar codehi-nginx-v1
从镜像归档文件codehi-nginx-v1.tar创建镜像,命名为codehi-nginx-v1
21. docker kill
杀掉一个运行中的容器docker kill -s KILL mynginx
杀掉运行中的容器mynginx
这些命令比较常用,其他的可以自行查看文档:docker基本命令