docker 虚拟化技术
docker 是一种虚拟化技术,基于 lxc 技术实现。
docker 容器操作
# docker 创建镜像 dir Dockerfile所在目录
docker build -r imageName:tag dir
# 查看镜像的创建历史
docker history [imageId|imageName]
# 查看镜像列表 -q 只查看镜像id
docker images
# 查看镜像信息
docker inspect imageId
# 运行nginx,docker 容器内无进程时,容器会停止
docker run -d nginx
# 运行一个 /bin/bash 命令保持容器的运行状态
docker run -it nginx /bin/bash
# 进入一个容器
docker exec -it containerId /bin/bash
# docker [attach|exec|run]的区别
# attach 是用于附加到正在运行的进程
# exec 在已经运行的容器中新开一个线程运行
# run 运行一个新的容器
docker 的容器操作
# docker 容器的生命周期,其中停止和暂停与运行操作可逆
# 创建-> 运行 -> [停止|kill|暂停]
# 查看容器内的进程
docker top [容器名称|容器ID]
# 查看容器列表
docker ps [-a 查看全部]
# 容器的启动、停止、重启
docker [start|stop|restart] 容器ID
# 查看容器状态
docker stats 容器ID
# 删除已经停止的容器
docker rm 容器ID
# 进入到容器 exit退出容器 容器无进程时会停止,ctrl + p +q 则容器正常运行
docker attach 容器ID
# 容器暂停与恢复
docker [pause|unpause] 容器id
# kill当前容器
docker kill 容器ID
Dockfile 基本指令
# docker 指令是大写 参数以及命令是小写
# 指定一个基础镜像
FROM ubuntu
# 指定一个镜像源的维护者
MAINTAINER kevin@qikegu.com
# 像镜像添加目录、文件
COPY /root/testfile /data/
# 为当前镜像执行命令
RUN apt-get update
# 或者 RUN ["apt-get","update" ]
RUN apt-get install -y nginx
# 只允许有一个 CMD ,如果有多个最后一个生效,运行容器时默认执行的命令,如果运行镜像有指定,则覆盖 cmd 内容
CMD ["echo", "Image created"]
# 工作目录,可以创建多个
WORKDIR /app/
# 指定环境变量, 可以设置多个
ENV app_version 2.0
# 容器开发的端口
EXPOSE 80 443
网友评论