Docker入门笔记
来源:互联网 发布:java数组的定义格式 编辑:程序博客网 时间:2024/06/04 19:52
Docker入门笔记 (纯小白记录)
1、Docker是啥
Docker是一个容器引擎,我们可以把我们的应用和依赖环境(比如配置文件、库等)打包到这个容器中。值得注意的是,这个容器是可移植的,我们可以把程序打包,然后发布到另一台机器上。
Docker采用C/S架构,客户通过api创建Docker容器。
此图包含了Docker最重要的三个概念:镜像、容器、仓库
- 镜像(Images):镜像是一个包含了应用程序和依赖环境的文件,可以看作是一个模板,通过这个模板我们可以构建容器。镜像与容器有点像类与对象的关系,如果镜像是类,那么容器就是由镜像产生的对象。
- 容器(Container):容器是由镜像产生的一个实例,可以独立运行,相互之间互不干扰。
- 仓库 (Hub) :用来存储和管理镜像的仓库,有点像 git版本控制中的仓库。
(图片来自:http://www.runoob.com/docker/docker-architecture.html)
2、Docker安装和Hello world
(1)Ubuntu上安装 Docker
使用下面的命令安装:
sudo wget -qO- https://get.docker.com/ | sh
安装成功后,会显示Docker版本等信息
(2)Docker的Hello world
sudo docker run ubuntu:14.04 /bin/echo "Hello world"
ubuntu:14.04是要运行的镜像,表示以ubuntu:14.04镜像创建一个容器
/bin/echo “Hello world”:在容器里执行的命令
需要注意的是,如果指定的镜像在本地不存在,Docker会从DockerHub下载公共镜像,我们可以用下面的命令查看系统中已有的镜像
docker images
当然,我们也可以直接run hello-world
docker run hello-world
3、Docker容器与镜像
下面将做一个小实验,练习创建容器和镜像~
- 创建一个容器,然后在容器中修改文本
- 通过上一步中的容器,创建镜像
- 通过镜像创建新的容器,看看有没有修改后的文本
1、创建一个容器,然后在容器中修改文本
使用docker run 命令可以创建一个容器,
docker run -i -t ubuntu /bin/bash
-i:交互模式
-t:为容器分配一个终端tty
ubuntu:容器的镜像名称,可以通过docker images 查看
/bin/bash:在容器中运行的命令
在创建的容器中,我们可以新建一个文件:
touch test.txtecho "asdf" >> test.txt
2、通过上一步中的容器,创建镜像
首先从容器中退回到主机,可以按 “ctrl +p 、 ctrl + q”
然后通过容器创建镜像
docker commit -m "test" 863 ubuntu:my_test
有点像git的commit,863是容器的ID,ubuntu是镜像的名字,my_test是镜像的标签。创建镜像后,可以通过docker images查看有没有我们刚刚创建的镜像
如果想从主机中再次进入刚刚创建的容器,可以使用下面的命令查看当前活动的容器
docker ps
然后使用命令:docker attach 863 进入刚刚创建的容器,其中863是容器的ID
3、通过镜像创建新的容器,看看有没有修改后的文本
docker run -i -t ubuntu:my_test /bin/bashcat test.txt # 读取test.txt中的内容
今天先学到这里,拜拜~
- Docker学习笔记-Docker入门
- Docker入门笔记
- Docker入门笔记-1
- Docker入门笔记
- docker swarm 入门笔记
- Docker 入门笔记 2
- Docker 入门笔记 1
- Docker 入门笔记 3
- Docker 入门笔记 4
- Docker入门笔记
- Docker入门笔记_1_安装docker
- docker学习笔记2-docker入门
- Docker 菜鸟笔记(一)Docker 入门
- Docker入门笔记(慕课网)
- 学习docker 入门命令笔记
- Docker 入门学习笔记一:Ubuntu安装 Docker
- docker 学习笔记入门(安装docker-io)
- 《Docker入门实战》笔记(一)
- ip
- 使用RxJava实现PullScrollView,PullListView, PullGridView 等进入自动下拉刷新
- hdu6125-(状态压缩+分组背包)
- 各种压缩格式比较
- memcached完全剖析–1. memcached的基础
- Docker入门笔记
- Densely Connected Convolutional Networks
- HDU-6063-RXD and math-
- 安卓恶意锁屏APP分析
- 项目用到的窗口管理类
- 动态代理模式
- 五、迭代器--迭代器类型详述
- 在ssh框架下实现多选传值到后台
- unique函数去除重复行不排序