docker三大基础:容器,镜像,仓库
-
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
-
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
-
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
docker基础命令
查看docker运行状态 systemctl status docker
启动docker(docker是个进程) systemctl start docker
查看镜像 docker images
查看容器运行状态 docker ps
查看容器运行状态(所有) docker ps -a
拉取镜像 (以nginx为例) docker pull nginx
以nginx镜像为基础运行新的docker容器test docker run -it -d --name test nginx
进入容器 docker exec -it test2 /bin/bash
端口映射
指定ip,主机,容器 docker run -it -d -p 127.0.0.1:5000:5000 nginx /bin/bash
指定ip,容器 docker run -it -d -p 127.0.0.1::5000 nginx
指定主机,容器 docker run -it -d -p 8080:80 nginx
启动容器 docker run 容器id
查看容器信息 docker inspect 容器id
进入容器 docker exec -it test /bin/bash
从容器拷贝文件到主机
从主机拷贝文件到容器
docker file
vim一个Dockerfail文件
编写一个自定义镜像,基础是centos7,在里面可以执行yum命令
# 使用官方的 CentOS 7 镜像作为基础镜像
FROM centos:7
# 安装 ping 命令所在的软件包
RUN yum install -y iputils
# 在容器启动时执行的命令,这里可以留空
CMD ["bash"]
保存退出后执行(最好-f指定文件名,不然可能找不到)
docker build -f Dockerfail -t mycentos .
会重新创建一个新的镜像
下面以新镜像为基础创建docker
docker run -it test2 mycentos /bin/bash
此时会进入新容器中,可以执行yun命令