docker基础 --- 容器篇

说明

容器是docker又一核心概念,容器的运行基于镜像之上,是独立运行的一个或一组应用

启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是启动停止状态的容器

  • 新建并启动

    命令:docker run

    • 输出hello world,然后终止容器
    [root@localhost ~]# docker run centos /bin/echo 'hello world'
    
    • 进入docker容器,在终端交互
    [root@localhost ~]# docker run -it centos
    
    • 容器停止后自动删除容器
    [root@localhost ~]# docker run -it --rm centos
    

    解释

    -it:是两个参数,-i 让容器的标准输入保持打开,-t让docker分配一个伪终端
    --rm:容器退出,自动删除,可通过docker ps -a查看

    docker 使用run启动容器时的步骤:

    1. 检查本地是否存在指定的镜像,没有就从公有仓库下载
    2. 分配一个文件系统,在只读层的镜像层外面再挂载一个读写层
    3. 从宿主机桥接一个虚拟接口道容器中去
    4. 从地址池分配一个ip地址给容器
    5. 执行用户指定的程序
    6. 执行完毕后终止容器
  • 启动已终止的容器

    [root@localhost ~]# docker start xxx
    
  • 后台运行
    docker默认是在前台运行,会将输入直接打印到当前宿主机,更多情况下需要将容器放后台运行,使用docker logs CONTAINER查看输出内容

    [root@localhost ~]# docker run docker run --name nginx_v3 -d -p 80:80 nginx:v3
    

终止容器

docker stop

导出导入容器

  • 导出容器

    命令:docker export

    [root@localhost ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
    0b7c70f3f7ba        nginx:v3            "nginx -g 'daemon ..."   23 hours ago        Exited (0) 23 hours ago                       nginx_v3
    [root@localhost ~]# docker export 0b7c70f3f7ba > nginx_v3.tar
    
  • 导入容器

    命令:docker import

    • 从本地文件导入
    [root@localhost ~]# docker import nginx_v3.tar nginx:v4
    sha256:e4d7efa6c90b4465a4d50b9e2a02b39da5f9d2fe127687aa0ddd4669309bfecf
    [root@localhost mynginx]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               v4                  e4d7efa6c90b        54 seconds ago      717 MB
    
    • 从RUL导入
    [root@localhost ~]# docker import http://example.com/test.tgz example
    

删除容器

命令:docker rm

清楚所有处于终止状态的容器

[root@localhost ~]# docker rm $(docker ps -a -q)

docker 默认不会删除正在运行的容器

你可能感兴趣的:(docker基础 --- 容器篇)