6.docker container
1. 什么是container
通过 image 创建 (copy得到的)
在 image layer (在image 层) 上 增加了一层 container layer (container 层 该层可读可写)
类比面对对象: 类(image) 和 实例 (container)
Image 负责 app 的存储和分发 , Container 负责运行
2.交互 container
运行cenos image 就进入了 centos 内 然后可以进行一些操作
docker run -it centos
3.docker 的一些命令 (具体查看 https://docs.docker.com/engine/reference/commandline/container/)
使用 docker --help 进行查看
docker container rm 容器的ID (或 docker rm 容器的 ID) 即可删除容器
docker container ls (或 docker ps) 查看正在运行的容器
docker container ls -a (或 docker ps -a) 查看所有容器
docker image rm 镜像的id (或 docker rmi 镜像的ID) 即可删除image
docker contaner ls -aq 列举所有的container id
docker rm $(docker contaner ls -aq) 清理所有的container
docker container ls -f 'status=exited' -q 列出所有状态为 exited 的容器
docker stop [container_id or container_name] 停止运行中的容器
docker run -d [image_name] 后台运行 将要启动的contianer
docker run --name=demo [image_name] 命名将要启动的容器名称为 demo
docker inspect [container_id or container_name] 显示 容器 的一些详细信息
4. 操作运行中的容器
docker exec -it [container_id] /bin/bash #通过编写 shell 脚本进入容器
docker exec -it [container_id] python # 通过编写 python 进入容器
docker exec -it [container_id] ip a # 打印出运行容器的ip地址
5.docker 的两个命令
1. 基于某个 image 创建了一个container 后面安装了一些软件 然后将这个container 重新发布为新的 image (不推荐)
docker container commit ( 简写成 docker commit )
1. docker run -it centos ( 运行centos )
2. yum install -y vim ( 安装vim )
3. exit (退出运行的容器)
4. docker container ls -a (查看所有的容器)
5. docker commit [container的name] [新image的名字] (根据容器 创建一个新的 image)
6. docker commit centos zonehoo/centos-with-vim
2. 创建一个 image 从 Docker file
docker image build ( 简写成 docker build )
1. mkdir docker-centos-vim && cd docker-centos-vim
2. vim Dockerfile
FROM centos #选择基础镜像 base image
RUN yum install -y vim #在 base image 内 运行安装 vim
保存退出
3.创建 image 通过当前文件夹的 Dockerfile 并命名为 zonehoo/centos-vim-new
docker build -t zonehoo/centos-vim-new .
4.通过 docker images 查看生成的 image
docker images