Docker的学习笔记。

Docker技术。
目录:
1.什么是Docker
2.理解Docker
3.走进Docker
4.Hello World
5.Nginx服务
6.docker化的java web。

1.什么是Docker?

2.Docker思想。
集装箱   运输方式
标准化   存储方式
隔离     API接口

3.Docker解决了什么问题?
我本地运行没问题啊!
系统好卡,哪个哥们又写死循环了?
双11来了,服务器撑不住啦!

4.走进Docker。镜像(集装箱),仓库(超级码头),容器(运行程序的地方)。
Build构建镜像,Ship运输,Run运行容器。

Docker镜像。(一系列的文件)
Docker容器。(本质就是一个进程)
Docker仓库。(hub.docker.com、c.163.com)

5.window下安装Docker。
http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ (下载地址)
http://pan.baidu.com/s/1qYyc0ag (boot2docker.iso下载地址)
https://c.163yun.com/hub#/m/home/ (查看镜像的地址。)

6.第一个docker镜像。(hello-world)
docker pull [OPTIONS] NAME[:TAG]
docker images [OPTIONS] [REPOSITORY [:TAG]]
docker run [OPTIONS] IMAGE [:TAG] [COMMAND] [ARG...]
docker ps (查看镜像运行的进程)

docker pull hello-world (下载hello-world镜像)
docker images (查询本地的镜像)
docker version (查询docker的版本)
docker run hello-world (运行镜像)

7.运行一个nginx镜像。(nginx)
持久运行的容器;前台挂起&后台运行;进入容器内部。
下载地址:docker pull hub.c.163.com/library/nginx:latest
运行nginx:docker run hub.c.163.com/library/nginx (前台运行)
docker run -d hub.c.163.com/library/nginx

指定端口运行
docker run -d -p 8080:80 hub.c.163.com/library/nginx (指定端口8080,80)
docker run -d -P hub.c.163.com/library/nginx (随机端口)

docker ps 可以查看到nginx运行的container的id
docker exec -it 容器id (进入容器里面,类型linux目录) bash
exit (退出容器)
docker stop 容器id

8.Docker网络。
网络类型:
Bridge Host None
端口映射:

查看端口是否被监听:
netstat -na|grep 8080


9.制作自己的镜像
Dockerfile
docker build
Jpress: http://jpress.io/

Dockerfile文件:
from hub.c.163.com/library/tomcat  (是以tomcat为一个起点)
MAINTAINER llsydn [email protected] (镜像所有者)
COPY D:/ddmh-1.0.0.jar /usr/local/tomcat/webapps (运行命令)

然后执行docker build -t (镜像的名称) . ( . 的作用是将本目录下的所有文件传递给docker容器)


Dockerfile语法:
from                base image
run                 执行命令
add                 添加文件
copy                拷贝文件
cmd                 执行名称
expose              暴露端口
workdir             指定路径
maintainer          维护者
env                 设置环境变量
entrypoint          容器入口
user                指定用户
volume              mount point


特别注意:
每次启动Docker Quickstart Terminal的时候,一开始会告诉我们docker is configured to use the default machine with IP 192.168.99.100(xxx.xxx.xx.xxx)
所以要访问docker里面启动的服务的时候,需要用这个ip去访问对应的应用。

猜你喜欢

转载自my.oschina.net/llsydn/blog/1820966