Title docker入门到实战 https://www.bilibili.com/video/av48786331
基础架构
C/S架构,client通过接口与server实现容器构建、运行和发布
Docker 宿主机(Host):
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker API:
https://docs.docker.com/reference/api/docker_remote_api
Docker Hub:https://hub.docker.com 提供了庞大的镜像集合供使用。
docker vs 虚拟机
Docker常用命令
##容器内运行一个应用程序
docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world
## ubuntu:15.10 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
## /bin/echo "Hello world": 在启动的容器里执行的命令
## -i -t,让docker运行的容器实现"对话"的能力
docker run -i -t ubuntu:15.10 /bin/bash
##创建一个以进程方式运行的容器
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63 (容器ID)
##查看我们正在运行的容器
runoob@runoob:~# docker ps
CONTAINER ID IMAGE COMMAND ... PORTS
d3d5e39ed9d3 training/webapp "python app.py" ... 0.0.0.0:32769->5000/tcp //Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。
##启动容器
docker stop amazing_cori
##停止容器
docker stop amazing_cori
##查看容器内的标准输出
docker logs 2b1b7a428627
docker logs -f bf08b7f2cd89 //像使用 tail -f 一样来输出容器内部的标准输出。
##运行一个web应用
docker pull training/webapp # 载入镜像
docker run -d -P training/webapp python app.py
##查看容器内部运行的进程
docker top wizardly_chandrasekhar
##删除不需要的容器
docker rm wizardly_chandrasekhar
##查看 Docker 的底层信息
docker inspect wizardly_chandrasekhar
镜像操作
##列出本地主机上的镜像
docker images
#查找镜像
docker search httpd
Docker其他命令
docker --version
docker info
docker command --help
## List Docker CLI commands
docker
docker container --help
## Display Docker version and info
docker --version
docker version
docker info
## List Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq
##查看容器内部目录
docker exec -it 91f2 /bin/bash
Docker安装相关
##查看系统内核
uname -r
##安装docker依赖包