一,安装docker
1,移除旧版本:yum remove docker
2,安装所需要的包:yum install -y yum-utils device-mapper-perstent-data lvm2
3,下载docker的ce版本:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4,查看版本:yum list docker-ce.x86_64 showduplicates | sort -r
5,安装docker:yum install -y docker-ce-18.09.1.ce
二,docker常用命令
启动docker服务:systemctl start docker.service
查看docker版本:docker version
搜索镜像:docker search imageName
下载镜像:docker pull imageName
查看所有镜像:docker images
删除镜像:docker rmi image
运行镜像:docker run -d -p 8080:8080 --name containerName imageName
进入镜像:docker exec -it containerName /bin/bash
退出镜像:exit 或 ctrl+D
查看所有容器:docker ps -a
删除容器:docker rm containerName
重启容器:docker start containerName
停止容器:docker stop containerName
复制到容器:docker cp fileName containerName:/usr/local/...
备份镜像:docker save -o imageName.tar imageName
载入镜像:docker load --input imageName.tar
三,制作镜像(以JDK8和TOMCAT7为例)
1,先下载个基础镜像:docker pull centos:7
2,下载JDK和TOMCAT,然后放到/usr/local/下解压。将解压出的JDK改名为java8,将解压的TOMCAT改名为tomcat7。如果有项目可以直接放到tomcat的webapps目录下,直接制作成镜像。
3,在jdk和tomcat所在目录编写dockerfile文件(内容如下):vi Dockerfile
FROM centos:7 #基础镜像的名称
MAINTAINER name #作者信息
WORKDIR /usr/local #工作目录
RUN mkdir /usr/local/java8 #创建目录
ADD jdk1.8.0_144 /usr/local/java8 #将本地JDK拷贝到镜像中
RUN mkdir -p /usr/local/tomcat7 #创建目录
ADD tomcat-7.0.79 /usr/local/tomcat7 #将本地TOMCAT拷贝到镜像中
ENV JAVA_HOME /usr/local/java8 #设置镜像中的JAVA_HOME
ENV JRE_HOME $JAVA_HOME/jre #设置镜像中的JRE_HOME
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH #镜像的CLASSPATH
ENV CATALINA_HOME /usr/local/tomcat7 #设置镜像中的CATALINA_HOME
ENV PATH $JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin #设置镜像中的PATH
EXPOSE 8080 #开放的端口
CMD ["/usr/local/tomcat7/bin/catalina.sh","run"] #启动镜像时运行TOMCAT
4,生成镜像:docker build -t imageName:version .
四,私库搭建registry
1,下载私库:yum install -y registry
2,运行私库:docker run -d -v /registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
3,查看镜像:ls /registry/docker/registry/v2/repositories 或 curl http://localhost:5000/v2/_catalog
4,在客户端修改为http传输方式:vi /etc/docker/daemon.json
{"insecure-registries":["registryIP:port"]}
5,给要上传的镜像在私库创建tag:docker tag imageName registryIP:port/registryName:version
6,上传到私库:docker push registryIP:port/imageName:version