docker images
docker 镜像获取方式:
1、pull 可以直接从网上拉取;
2、import 可以从现有容器打包成一个镜像;
3、commit 可以从现有容器一个镜像;
4、build 可以创建dockerfile 构建一个镜像;
docker search tomcat
搜索镜像
docker pull tomcat
拉取一个镜像 docker export nginx1 > nginx1.tar.gz
docker export 打包导出容器文件;
cat nginx1.tar.gz | docker import - nginx1.1:v1.1.1
import 使用打包文件 导入一个镜像 (REP = nginx1.1 、TAG = v1.1.1 ) docker commit -m="update" -a="nginx1.1" a68c576572d2 nginx1.1:1.1
从 ID a68c576572d2 容器 生成一个镜像 docker build -t nginx2.1:v2.1 .
build 自定义构建镜像
commit :从容器生成一个镜像;
docker commit -m="update1.1" -a="tomcat1.2":1.2 23defb07e362 tomcat1.2:1.2 -m 提交记录
23defb07e362 使用的容器 ID
-a 镜像 作者
tomcat1.:v1. 创建镜像名 和 tag 为 1.2
build :自定义构建一个镜像:
创建一个 test 目录:
mkdir /test
cd /test
touch Dockerfile default.conf
创建 Dockerfile 文件 (必须要大写)
创建一个测试文件 default.conf 测试上传到镜像里面
编辑 Docekerfile 文件
# cat Dockerfile
FROM docker.io/centos # MAINIAINER
MAINTAINER Fisher "mahk" # put file # 添加测试文件
ADD default.conf /opt # RUN
# RUN yum install -y gcc gcc-c++ glibc
RUN yum install openssh-server net-tools -y
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd user1
RUN /bin/echo 'user1:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local # change dir
WORKDIR /tmp
RUN touch .txt # execute
EXPOSE CMD /usr/sbin/sshd -D
构建镜像 centos1.1 (. 指的当前目录)
docker build -t centos1.:v1. .
设置镜像的标签
docker tag 66e3e00d2c7a centos:v1.
# docker images 查看镜像列表;
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
docker ps -n 2 : 查看最近两次启动的容器
# docker ps 状态
docker 删除镜像;
docker rmi
如果是通过容器生成的镜像是删除不掉的;先删除依赖的容器;再删除;