docker入门

在mac下运行docker:https://download.docker.com/mac/stable/Docker.dmg 在docker的官网下载mac版本的安装包

安装,运行:

docker info

查看docker的基础信息,这些可以在preferences中进行重新配置

运行一个tank小应用在docker中

docker pull index.tenxcloud.com/tenxcloud/tomcat

这里使用的是tenxcloud的仓库,也可以使用docker hub,这里面mac有个小坑,如果使用官方hub,需要登入docker,不过需要使用账号而不是邮箱登入

运行

docker container ls

发现没有container,说明这个时候只是拉了一个镜像而已,运行:

docker tag index.tenxcloud.com/tenxcloud/tomcat tomcat-1

给这个镜像起个tomcat-1的名字,启动这个镜像

docker run -p 5000:8080 --name container1 tomcat-1

启动这个镜像,在container1中运行,docker中的8080端口映射到宿主机的5000端口

把一个tank应用放到container1中运行下

docker exec -it container1 /bin/bash

查看container1的容器路径结构,需要把应用放到tomcat/webapps下面

docker cp tank.war container1:tomcat/webapps

docker会自动重启,访问 localhost:5000/tank 就可以访问到应用了

关闭容器

docker stop container1

利用容器创建镜像

docker commit -m "tank应用" -a "youflint" 0416d433fb80 youflint/basehub

这回在看本地的镜像,发现就会有刚刚创建的,然后把镜像上传到docker hub

所以的镜像存储在/Users/ssy/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux 这个位置里

docker run=docker create+docker start

关于镜像:
只读的,无状态的,一个镜像永远不可改变?

kubernetes如何启动docker容器?

docker image的只读模型和分层模型不了解

kubernutes本身解决了docker的一下几个缺点,而这几点是我应该去思考的

容器与容器之间如何发现与通信?
如何决定在哪运行以及运行多少个容器?
如何获取容器运行的日志与运行状态信息?
如何部署新的镜像?
容器崩溃时都发生了什么?
如何只将特定的一部分容器暴露在公网或者内网环境下?