docker学习

公司有用到docker,表示小白一脸懵逼,好奇了解学习一下。
 
1、Docker 是一个开源的应用容器引擎。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
架构:
使用客户端、服务器架构模式,使用远程API来管理和创建docker容器。
docker镜像(images):用于创建docker容器的模板
docker容器(container):容器是独立运行的一个或一组应用
docker客户端(client):通过命令行或其他工具使用docker api 与docker的守护进程通信
docker主机(host):一个物理或虚拟的主机,用户执行docker守护进程与容器
docker仓库(registry):用来保存镜像,可以理解为代码控制中的代码仓库
Docker Machine:简化的docker安装命令行工具
 
2、docker本质:终端命令的虚拟机
docker的三个概念:
1)镜像。为静态的,不可操作,只能被pull或者push
2)容器。为动态的,
3)仓库。
3、使用。
1)查看本地镜像:docker images
2)查看正在运行的容器:docker ps
3)启动、停止、重启 容器:
~$ docker start aa97ba3292ce ~$ docker stop aa97ba3292ce ~$ docker restart aa97ba3292ce
4)后台启动一个容器,若想进入这个容器:
docker attach aa97ba3292ce
 
5)软件安装完,保存环境
exit //先退出环境
docker commit -m "ubuntu with vim" -a "sgy" aa97ba3292ce sgy/ubuntu:vim
docker images
 
其中,-m指定说明信息;-a指定用户信息;aa97ba3292ce代表容器的id;sgy/ubuntu:vim指定目标镜像的用户名、仓库名和 tag 信息。
 
6)容器内使用docker logs命令,查看容器内的标准输出
docker logs 2b1b7a428627
 
4、docker客户端
1)docker ,查看所有命令选项
2)docker command --help,了解指定的命令
3)运行一个web应用
 
runoob@runoob:~# docker pull training/webapp # 载入镜像 runoob@runoob:~# docker run -d -P training/webapp python app.py
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
 
4)查看正在运行的容器
runoob@runoob:~# docker ps
5)查看web应用程序日志
runoob@runoob:~$ docker logs -f bf08b7f2cd89
6)查看web应用程序进程
runoob@runoob:~$ docker top wizardly_chandrasekhar
7)检查web应用程序
runoob@runoob:~$ docker inspect wizardly_chandrasekhar
 
8)停止web 应用容器
runoob@runoob:~$ docker stop wizardly_chandrasekhar
9)重启web 应用容器
runoob@runoob:~$ docker start wizardly_chandrasekhar
10)移除web 应用容器
runoob@runoob:~$ docker rm wizardly_chandrasekhar
 
5、docker镜像使用
1)管理和使用主机镜像
列出镜像列表:runoob@runoob:~$ docker images
使用镜像运行容器:runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash
2)获取一个新的镜像
Crunoob@runoob:~$ docker pull ubuntu:13.10
3)查找镜像
runoob@runoob:~$ docker search httpd
4)拖取镜像
runoob@runoob:~$ docker pull httpd
5)使用镜像
runoob@runoob:~$ docker run httpd
6)更新镜像
runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
7)构建镜像
runoob@runoob:~$ cat Dockerfile
runoob@runoob:~$ docker build -t runoob/centos:6.7 .
6、docker容器连接
目的:实现通过端口连接到docker容器
网络端口映射
 
创建了一个python应用到程序:
runoob@runoob:~$ docker run -d -P training/webapp python app.py
查看:runoob@runoob:~$ docker ps
 
 
 

posted @ 2018-11-24 11:57  拉努斯石  阅读(151)  评论(0编辑  收藏  举报