了解和理解Docker的使用

简介: Docker背景Docker技术是基于Linux容器 虚拟容器技术的 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的

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 容器经历以下阶段:

创建容器

运行容器

暂停容器(可选)

取消暂停容器(可选)

启动容器

停止容器

重启容器

杀死容器

销毁容器

相关文章
|
29天前
|
应用服务中间件 nginx Docker
Docker的世界
Docker的世界
15 0
|
3月前
|
Linux 虚拟化 开发者
Docker(1)
Docker定义 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
|
7月前
|
关系型数据库 MySQL 应用服务中间件
Docker
Docker 是一个开源的应用容器引擎,基于 Go语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
170 0
|
8月前
|
NoSQL Java Redis
了解和使用Docker
本文对 Docker 进行全面阐述,详细介绍 Docker 的作用、其基本使用,如常用命令、Dockerfile 的作用及使用、Docker Compose 的作用及使用。常用的基本上都会涉及,其他可以在[ Docker 官网](https://docs.docker.com/)进行查漏补缺。
104 0
|
9月前
|
Linux 虚拟化 开发者
|
10月前
|
Kubernetes Linux 持续交付
什么是Docker?
什么是Docker?
111 0
|
10月前
|
存储 运维 关系型数据库
Docker(2)
Docker(2)
|
运维 Linux Go
首先我们要知道 Docker 是什么?能干什么?
首先我们要知道 Docker 是什么?能干什么?
2170 1
|
Ubuntu Linux iOS开发
关于Docker的那些事
一、前言 二、什么是Docker 三、Centos 7.x 下安装 Docker 四、Docker常用命令
|
NoSQL jenkins 关系型数据库
你应该学会的docker使用技巧
这是之前在简书写的一篇旧文;没有读过的小伙伴可以读读。
114 0