Docker背景
Docker技术是基于Linux容器 虚拟容器技术的 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker有优点:快速,一致交付你的应用程序 响应式部署和扩展 在同一个硬件运行更多工作负载。
Docker技术是基于Linux容器 虚拟容器技术的
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
- 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker有优点
以上全部正确
- Docker有优点:快速,一致交付你的应用程序
- 响应式部署和扩展
- 在同一个硬件运行更多工作负载
Docker安装常见的应用
Docker安装常见的应用,包括ubuntu/CentOS/Windows/MacOS/Linux
Nginx/Node.js/PHP/JAVA(openjdk)/MySQL/Tomcat/Redis/MongoDB/Apache
RocketMQ/Zookeeper/Jenkins/elasticsearch几乎所有的应用及微服务
Docker指令
获取镜像
docker pull redis
exit 退出
cker ps (容器有在运行)
docker stop / restart 停止、重启
启动、进入具体容器: docker run -it ubuntu /bin/bash
启动已停止的镜像:docker start b750bbbcfd88
后台运行:docker run -itd --name ubuntu-test ubuntu /bin/bash
进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach
docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
运行一个 web 应用
docker pull training/webapp # 载入镜像
docker run -d -P training/webapp python app.py
镜像(Image)
容器(Container)
仓库(Repository)
列出镜像列表
docker images
pull 镜像 上述应用就是镜像,镜像可以指定版本
查找镜像 docker search httpd
删除镜像:docker rmi hello-world
更新镜像:docker commit -m=“提交描述信息” -a=“作者” e218edb10161(容器id) runoob/ubuntu:v2(要创建的目标镜像名)
构建镜像:我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定使用哪个镜像源
RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。
然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。
设置镜像标签 docker tag 860c279d2fec runoob/centos:dev
logo:集装箱
网络端口映射
创建应用容器:docker run -d -P (–name(命名)) training/webapp python app.py
新建网络:docker network create -d bridge test-net
运行一个容器并连接到新建的 test-net 网络:
docker run -itd --name test1 --network test-net ubuntu /bin/bash
docker run -itd --name test2 --network test-net ubuntu /bin/bash
//ping测试他们容器之间可以连通,
如果没装ping:apt-get update
apt install iputils-ping
仓库管理:登录到远程的docker
描述 Docker 容器的生命周期。
Docker 容器经历以下阶段:
创建容器
运行容器
暂停容器(可选)
取消暂停容器(可选)
启动容器
停止容器
重启容器
杀死容器
销毁容器