什么是容器:
一种虚拟化方案,操作系统虚拟化(依赖于linux内核特性)
什么是docker:
将应用程序自动部署到容器
使用docker,开发测试生产都在docker容器中进行,统一环境、缩短周期
使用场景:
1、使用docker容器开发、测试、部署服务
2、创建隔离的运行环境
3、搭建测试环境
4、构建多用户的平台即服务基础设施(SaaS)
5、高性能、超大规模的宿主机部署
docker基本组成:
1、docker clinet 客户端
2、docker daemon 守护进程
3、docker image 镜像
4、 docker container 容器
通过镜像启动,启动和执行阶段
5、docker registry 仓库
公有(Docker Hub)、私有
ubuntu 安装:
curl -sSL https://get.docker.com/ | sudo sh
基本操作:
docker run -i -t
查看容器:
docker ps [-a] [-l]
重新启动停止的容器:
docker start [-i]
删除(停止运行的)容器:
docker rm ID
守护式容器:
docker run -d 镜像名[COMMAND][ARG...]
查看容器内部情况:
docker logs [-f] [-t] [--tail] 容器
查看容器中内进程:
docker top 容器名
在运行的容器内启动新的进程:
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
停止守护式容器:
dock
设置容器的端口映射
docker run [-P] [-p]
镜像启动的网络配置:
列出镜像
docker images
删除镜像
docker rmi IMAGE
查找镜像
docker search [OPTIONS] TERM
拉取镜像
docker pull [OPTIONS] NAME[:TAG]
修改镜像服务器:
修改镜像地址处: /etc/docker/daemon.json
修改镜像地址:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://6f6e131a.m.daocloud.io
docker构建镜像:1)docker commit 通过容器构建 2) docker build 通过Dockerfile文件构建
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a, --author=""
-m, --message=""
-o, --pause=true
Dockerfile 指令:
# 注释
FROM <image> :必须是已经存在的指令,基础镜像
MAINTAINER<name>:镜像作者信息
RUN<当前镜像中运行的命令>:
EXPOSE<port>:运行该镜像的容器的端口
CMD<>:提供容器运行的命令
ENTRYPOINT:
ADD
COPY
VOLUME
WORKDIR
Docker 的C/S模式: