docker核心要素

核心要素及常用操作详解

三大核心要素:镜像(Image)、容器(Container)、仓库(Registry)

镜像(Image)
打包了业务代码及运行环境的包,是静态的文件,不能直接对外提供服务。

容器(Container)
镜像的运行时,可以对外提供服务。

仓库(Registry)
存放镜像的地方

  • 公有仓库,Docker Hub,阿里,网易...
  • 私有仓库,企业内部搭建
    • Docker Registry,Docker官方提供的镜像仓库存储服务
    • Harbor, 是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能
  • 镜像访问地址形式 registry.devops.com/demo/hello:latest,若没有前面的url地址,则默认寻找Docker Hub中的镜像,若没有tag标签,则使用latest作为标签。 比如,docker pull nginx,会被解析成docker.io/library/nginx:latest
  • 公有的仓库中,一般存在这么几类镜像
    • 操作系统基础镜像(centos,ubuntu,suse,alpine)
    • 中间件(nginx,redis,mysql,tomcat)
    • 语言编译环境(python,java,golang)
    • 业务镜像(django-demo...)

容器和仓库不会直接交互,都是以镜像为载体来操作。
1,查看镜像列表

$ docker images

2,如何获取镜像

  • 从远程仓库拉取
    $ docker pull nginx:alpine
    $ docker images
    
  • 使用tag命令
    $ docker tag nginx:alpine 172.21.51.143:5000/nginx:alpine
    $ docker images
    
  • 本地构建
     $ docker build . -t my-nginx:ubuntu -f Dockerfile
    

3,如何通过镜像启动容器

$ docker run --name my-nginx-alpine -d nginx:alpine

4,如何知道容器内部运行了什么程序?

# 进入容器内部,分配一个tty终端
$ docker exec -ti my-nginx-alpine /bin/sh
# ps aux

5,docker怎么知道容器启动后该执行什么命令?

通过docker build来模拟构建一个nginx的镜像,

  • 创建Dockerfile

    # 告诉docker使用哪个基础镜像作为模板,后续命令都以这个镜像为基础 
    FROM ubuntu
    
    # RUN命令会在上面指定的镜像里执行命令 
    RUN apt-get update && apt install -y nginx
    
    #告诉docker,启动容器时执行如下命令
    CMD ["/usr/sbin/nginx", "-g","daemon off;"]
    
  • 构建本地镜像

    $ docker build . -t my-nginx:ubuntu -f Dockerfile
    

6,使用新镜像启动容器

 $ docker run --name my-nginx-ubuntu -d my-nginx:ubuntu

7,进入容器查看进程

$ docker exec -ti my-nginx-ubuntu /bin/sh
# ps aux

8,如何访问容器内服务

# 进入容器内部
$ docker exec -ti my-nginx-alpine /bin/sh
# ps aux|grep nginx
# curl localhost:80

9,宿主机中如何访问容器服务

# 删掉旧服务,重新启动
$ docker rm -f my-nginx-alpine
$ docker run --name my-nginx-alpine -d -p 8080:80 nginx:alpine
$ curl 172.21.51.143:8080

10,docker client如何与daemon通信

# /var/run/docker.sock
$ docker run --name portainer -d -p 9001:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
posted @ 2022-05-13 10:45  下个ID见  阅读(57)  评论(0)    收藏  举报