一.初识docker
代码接触到的环境:
开发环境==>,测试环境==>,生产环境
概念
- Docker是一个开源的应用容器引擎
- 基于go语言实现,dotCloud公司出品
- Docker将开发者打包他们的应用以及依赖到一个轻量级,可移植的容器中,然后发布到任何流行的Linux机器上
- 容器时完全使用沙箱机制,相互隔离
- 容器性能开销小
- Docker分为企业版和社区版
Docker架构

配置Docker镜像加速器
默认情况下,将来从dockerhub上下载docker镜像,太慢.一般会使用docker镜像
- USTC:中科打镜像加速器(https://docker.mirrors.ustc.edu.cn)
- 阿里云
- 网易云
- 腾讯云
二.Docker命令(cent os 7)
一.通过命令操作daemon
启动docker
systemctl start docker
停止docker
systemctl stop docker
重启docker
systemctl restart docker
查看docker服务状态
systemctl status docker
开机启动docker服务
systemctl enable docker
查看docker 的命令
docker --help
查看docker cpu
docker stats 容器id
二.通过命令操作container
查看容器
```xml查看开启的容器
docker ps查看所有容器
docker ps -a查看所有容器的id
docker ps -aq
-a 列出所有运行过的容器
-n=? 显示最近创建的容器
-q 只显示容器编号
<a name="CAFH6"></a>#### 创建容器 启动容器```xml## 启动并进入容器docker run -it --name=c1 镜像名:版本号 /bin/bash## -i 容器一直运行## -t 给容器分配一个终端## --name= 给容器起个名字 可以是=或空格## /bin/bash 进入容器启动命令行模式docker run -id --name=c2 镜像名:版本号## -d 后台运行## -P 指定容器的端口 -P 8080:8080-p ip:主机端口:容器端口-P 主机端口:容器端口 (常用)-P 容器端口容器端口## -p 随机指定端口
进入容器
docker exec -it 容器id或容器名 /bin/bash #进入容器后开启新的命令行#或docker attach 容器id或容器名 #进入容器正在执行的终端,不会启动新的进程
退出容器
exit ##容器推出并停止ctrl + P + Q ##容器推出不停止
启动容器和停止容器
docker start 容器id #启动容器docker restart 容器id #重启容器exit #推出当前正在运行的容器docker stop 容器id #停止当前正在运行的容器docker kill 容器id #杀死进程
删除容器(不可以删除一个正在运行的容器)
## 删除一个容器 , 不能删除正在运行的容器docker rm 容器id或名## 删除所有的容器docker rm `docker ps -aq`#或docker rm -f$(docker ps -aq)## -f 强制删除
从容器内拷贝文件到主机上
docker cp 容器id :容器内路径 目的主机路径
查看容器信息
docker inspect 容器id
后台启动容器
docker run -d 镜像id#问题docker ps ,发现centos停止#常见的坑: docker 容器使用后台运行,就必须要有一个前台进程,docker如果发现前台没有程序,就会自动停止
查看日志
docker logs -ft --tail 10 容器id--deatils 显示提供给日志的额外详细信息-f 跟踪日志输出--tail string 从日志末尾开始显示的行数(默认为“all”)-t 时间戳--untils string 示时间戳之前的日志(例如2013-01-02T13:23:37)或相对的日志(例如42分钟显示42米)
查看容器中进程信息
docker top 容器id
容器run 流程
三.通过命令操作image(Docker镜像)
查看镜像
## 查看所有镜像iddocker images -a## 只显示镜像的iddocker images -q## 查看所有镜像所有内容docker images镜像的仓库名 版本号 镜像id 创建时间 镜像大小
搜索镜像(从网络中查找需要的镜像)
#可选项,通过搜索来过滤--filter=STARS=3000 #搜索出来的镜像就是STARSdayu3000的docker search redis名 描述 starts(github星是一致的) 官方支持
拉去镜像(从Docker仓库下载镜像到本地)
docker pull redis:版本号 ##可以去docker官网去查看版本号hub.docker.comdocker pull redis ##没有版本号时是最新的
删除镜像
## 删除单个镜像docker rmi 对应的镜像iddocker rmi 名:版本号## 删除多个镜像docker rmi -f 镜像id 镜像id 镜像id## 删除所有的镜像docker rmi `docker images -q`
四.其他命令
docker version #显示docker版本信息docker info #显示docker系统信息docker 命令 --help #帮助命令cp -r webapps.dist/* webapps #拷贝
