使用流程
- 命令帮助:
docker command --help
容器
- 查询镜像
docker search [镜像名]
- 下载镜像
docker pull ubuntu
- 启动镜像
docker run -it ubuntu[容器] /bin/bash[容器执行的命令]
- 启动已停止运行的容器
//查看ps
docker ps -a
//2.启动
docker start [容器Id]
- 启动后台运行
docker run -itd --name ubuntu-test ubuntu /bin/bash
- 进入容器(容器如果后台运行,想进入如何处理)
docker exec -it [容器Id] /bin/bash
- 停止容器
docker stop <容器 ID>
- 重启容器
docker restart <容器 ID>
- 导入/导出容器
//导出
docker export 1e560fca3906 > ubuntu.tar
//导入
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
docker import http://example.com/exampleimage.tgz example/imagerepo
- 网络端口的快捷方式
- 查看容器日志
docker logs -f bf08b7f2cd89
镜像
- 查看镜像
docker images
- 搜索镜像
docker search httpd
- 下载镜像
docker pull ubuntu:13.10
- 移除镜像
docker rmi hello-world
- 创建镜像
当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。1. 从已经创建的容器中更新镜像,并且提交这个镜像 2. 使用 Dockerfile 指令来创建一个新的镜像
//更新镜像之前,我们需要使用镜像来创建一个容器。
~$ docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/#
在运行的容器内使用 apt-get update 命令进行更新。
//我们可以通过命令 docker commit 来提交容器副本。
~$ docker commit -m="has update" -a="demo" e218edb10161 demo/ubuntu:v2
- 设置镜像标签
docker tag 860c279d2fec runoob/centos:dev
docker 安装mesos+marathon
获取docker-server的ip地址
HOST_IP=172.17.0.1
HOST_IP=127.0.0.1
zookeeper
- 运行zookeeper
sudo docker run --net="host" --name zookeeper --restart=always -d -p 127.0.0.1:2181:2181 -p 127.0.0.1:2888:2888 -p 127.0.0.1:3888:3888 zookeeper
mesos
安装
sudo docker pull mesoscloud/mesos-slave
sudo docker pull mesoscloud/mesos-master
启动mesos-master
sudo docker run --net="host" --name mesos-master --privileged --restart=always -p 127.0.0.1:5050:5050 -e "MESOS_HOSTNAME=${HOST_IP}" -e "MESOS_IP=${HOST_IP}" -e "MESOS_ZK=zk://${HOST_IP}:2181/mesos" -e "MESOS_QUORUM=1" -d mesoscloud/mesos-master
- 额外配置:
-e MESOS_PORT=5050 \
-e MESOS_ZK=zk://172.20.201.101:2181/mesos \
-e MESOS_QUORUM=1 \
-e MESOS_REGISTRY=in_memory \
-e MESOS_LOG_DIR=/var/log/mesos \
-e MESOS_WORK_DIR=/var/tmp/mesos \
-v "$(pwd)/log/mesos:/var/log/mesos" \
-v "$(pwd)/tmp/mesos:/var/tmp/mesos" \
mesosphere/mesos-master:1.1.0-2.0.107.ubuntu1404 \
--ip=172.20.201.101 \
--advertise_ip=172.20.201.101
启动mesos-slave
sudo docker run -d --net="host" --privileged --restart=always --name mesos_slave_1 -e "MESOS_MASTER=zk://${HOST_IP}:2181/mesos" -v /data:/data -v /software:/software mesoscloud/mesos-slave
- 额外配置:
-e MESOS_PORT=5051 \
-e MESOS_MASTER=zk://172.20.201.101:2181/mesos \
-e MESOS_SWITCH_USER=0 \
-e MESOS_CONTAINERIZERS=docker,mesos \
-e MESOS_LOG_DIR=/var/log/mesos \
-e MESOS_WORK_DIR=/var/tmp/mesos \
-v "$(pwd)/log/mesos:/var/log/mesos" \
-v "$(pwd)/tmp/mesos:/var/tmp/mesos" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /sys/fs/cgroup:/cgroup \
-v /sys:/sys \
-v /usr/bin/docker:/usr/local/bin/docker \
mesosphere/mesos-slave:1.1.0-2.0.107.ubuntu1404 \
--ip=172.20.201.101 \
--launcher=posix
marathon
启动marathon
- 这个没法启动
sudo docker run --net="host" --privileged --restart=always -d -p 127.0.0.1:8989:8989 mesoscloud/marathon --master zk://${HOST_IP}:2181/mesos --zk zk://${HOST_IP}:2181/marathon
- 故使用以下方法
sudo docker run --net="host" --restart=always --privileged --name marathon -d -e MARATHON_MASTER=zk://${HOST_IP}:2181/mesos -e MARATHON_ZK=zk://${HOST_IP}:2181/marathon mesoscloud/marathon
额外配置:
--http_port 8080 \
--http_address 172.20.201.101