在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的一下几个缺点,而这几点是我应该去思考的
容器与容器之间如何发现与通信?
如何决定在哪运行以及运行多少个容器?
如何获取容器运行的日志与运行状态信息?
如何部署新的镜像?
容器崩溃时都发生了什么?
如何只将特定的一部分容器暴露在公网或者内网环境下?