Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
原文地址:代码汇个人博客 http://www.codehui.net/info/60.html
测试环境: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
8. docker rm
删除一个或多个容器
docker rm mynginx
删除容器mynginx,正在运行中的容器需要stop后才能删除,或者使用强制删除。
docker rm -f mynginx
强制删除运行中的容器mynginx
9. docker rmi
删除本地一个或多个镜像
docker rmi codehi/nginx:v1
删除镜像codehi/nginx:v1
docker rmi -f codehi/nginx:v1
强制删除
10. docker logs
获取容器的日志
docker logs -f mynginx
跟踪容器mynginx的日志,实时输出的。
11. docker history
查看指定镜像的创建历史
docker history codehi/nginx:v1
查看本地镜像codehi/nginx:v1的创建历史
12. docker login
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker 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归档文件导出到STDOUT
docker 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基本命令