docker学习
Posted linxihuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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应用
[email protected]:~# docker pull training/webapp # 载入镜像 [email protected]:~# docker run -d -P training/webapp python app.py
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
4)查看正在运行的容器
[email protected]:~# docker ps
5)查看web应用程序日志
[email protected]:~$ docker logs -f bf08b7f2cd89
6)查看web应用程序进程
[email protected]:~$ docker top wizardly_chandrasekhar
7)检查web应用程序
[email protected]:~$ docker inspect wizardly_chandrasekhar
8)停止web 应用容器
[email protected]:~$ docker stop wizardly_chandrasekhar
9)重启web 应用容器
[email protected]:~$ docker start wizardly_chandrasekhar
10)移除web 应用容器
[email protected]:~$ docker rm wizardly_chandrasekhar
5、docker镜像使用
1)管理和使用主机镜像
列出镜像列表:[email protected]:~$ docker images
使用镜像运行容器:[email protected]:~$ docker run -t -i ubuntu:14.04 /bin/bash
2)获取一个新的镜像
[email protected]:~$ docker pull ubuntu:13.10
3)查找镜像
[email protected]:~$ docker search httpd
4)拖取镜像
[email protected]:~$ docker pull httpd
5)使用镜像
[email protected]:~$ docker run httpd
6)更新镜像
[email protected]:~$ docker run -t -i ubuntu:15.10 /bin/bash
7)构建镜像
[email protected]:~$ cat Dockerfile
[email protected]:~$ docker build -t runoob/centos:6.7 .
6、docker容器连接
目的:实现通过端口连接到docker容器
网络端口映射
创建了一个python应用到程序:
[email protected]:~$ docker run -d -P training/webapp python app.py
查看:[email protected]:~$ docker ps
以上是关于docker学习的主要内容,如果未能解决你的问题,请参考以下文章