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.2:v1.2 创建镜像名 和 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 1.txt # execute EXPOSE 22 CMD /usr/sbin/sshd -D
构建镜像 centos1.1 (. 指的当前目录)
docker build -t centos1.1:v1.1 .
设置镜像的标签
docker tag 66e3e00d2c7a centos:v1.1
# 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
如果是通过容器生成的镜像是删除不掉的;先删除依赖的容器;再删除;