docker build---Docker daemon---Images
docker pull --Docker daemon--registry--Images
docker run --Docker daemon--Images---Containers
三大核心:
镜像Image --打包了业务代码及运行环境的包,是静态文件 不能对外提供服务
容器Containere--镜像运行时提供对外服务
仓库Registry --存放镜像的地方,有公有仓库和私有仓库
公有仓库存在几类镜像:
操作系统基础镜像(centos,ubuntu,suse,alpine)
中间件(nginx,redis,tomcat,mysql)
语言编译环境(python,java,golang)
业务镜像(django-demo...)
容器和仓库不会直接交互,都是以镜像为载体来操作
hub.docker.com --docker官方仓库
镜像访问地址形式 /.../hello:latest
1.查看镜像:
docker images
2.拉取镜像:
docker pull nginx:alpine
docker images
本地构建
docker build . -t my-nginx:ubuntu -f Dockerfile
3.如何通过镜像启动容器
docker run --name my-nginx-alpine -d nginx:alpine
docker ps
4.如何知道容器内运行了什么程序
docker exec -ti my-nginx-alpine /bin/sh
/# ls
/# ps axu
==docker exec my-nginx-alpine ls /etc
5.docker怎么知道容器启动后该执行什么命令
通过docker build来模拟构建一个nginx的镜像
创建dockerfile
docker images
vi Dockerfile
from ubuntu
RUN apt-get update && apt install -y nginx
CMD ["/usr/sbin/nginx","-g","daemon off;"]
构建本地镜像
docker build . -t my-nginx:ubantu -f Dockerfile
6.访问容器内的服务:
docker exec -ti my-nginx-alpine /bin/sh
#ps aux|grep nginx
#curl localhost:80
7.宿主机如何访问容器服务
docker rm -f my-nginx-alpine
docker run --name my-