1 镜像
镜像的一些操作.
1.1 搜索镜像
docker search centos
1.2 从镜像库中拉取镜像
docker pull docker.io/centos
1.3 删除镜像
docker rmi docker.io/centos
1.4 给镜像打tag
docker tag docker.io/fauria/vsftpd 192.168.2.249/library/fauria/vsftpd
1.5 向镜像仓库中提交镜像
docker push 192.168.2.249/library/centos7-vsftpd
1.6 导出镜像
docker export zabbix-server > zabbix-server.tar
1.7 导入镜像
docker import - za < zabbix-server.tar
docker import http://192.168.2.253/file/zabbix-server.tar zabbix2.4.8
1.8 查看目前机器中的镜像
docker images
1.9 快速删除所有镜像
docker rmi $(docker images)
1.10 构建镜像
# 目录结构
[root@node249 tomcat8-jre8]# pwd
/data/images/tomcat8-jre8
[root@node249 tomcat8-jre8]# tree -L 2
.
├── Dockerfile
├── java
│ └── jre1.8.0_192
└── tomcat
├── bin
├── conf
├── lib
├── LICENSE
├── logs
├── NOTICE
├── RELEASE-NOTES
├── RUNNING.txt
├── temp
├── webapps
└── work
10 directories, 5 files
# Dockerfile内容
[root@node249 tomcat8-jre8]# cat Dockerfile
#构建tomcat8基础镜像
#引用基础镜像
FROM docker.io/centos
MAINTAINER yanghang "yanghang0717@139.com"
#创建文件夹
RUN mkdir -p /data/java
RUN mkdir -p /data/tomcat
#将容器时间和主机时间设成一致
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
#把当前目录下的文件夹添加到镜像中
ADD java /data/java
ADD tomcat /data/tomcat
#添加环境变量
ENV CATALINA_HOME /data/tomcat
ENV JAVA_HOME /data/java/jre1.8.0_192
ENV PATH $CATALINA_HOME/bin:$JAVA_HOME/bin:$PATH
WORKDIR $CATALINA_HOME
#暴露8080端口
EXPOSE 8080
#启动时运行tomcat
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
# 制作tomcat镜像
docker build -t tomcat8 .
2 容器操作
2.1 查看目前运行的容器
docker ps -a
2.2 运行容器
docker run -d --restart=always --network host -v /data/ftp_root/:/home/vsftpd --privileged --name vsftpd vsftpd
docker run -itd --restart=always --privileged --name=zabbix-server docker.io/centos /usr/sbin/init
2.3 进入容器中
docker exec -it zabbix2.4.8 /bin/bash
2.4 快速停止并关闭容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
2.5 查看容器详情
docker inspect test
2.6 查看容器日志
docker logs -f -t --tail 10 test
2.7 提交容器到镜像中
docker commit centos 192.168.2.249/library/centos7-vsftpd