两台docker机(centos 7系统),Docker 版本:18.09.6, build 481bc77156java
Docker host IP:192.168.102.135web
Docker client IP:192.168.102.134docker
在centos host上部署dokcer,并在docker容器中部署tomcat及jdk、webapp,部署后测试经过,并推入私有仓库。docker client端从私有仓库拉取镜像,运行并查看运行结果。操做示意图以下:json
docker pull tomcat
docker run -p 8080:8080 --name mytomcat tomcat:latest # 提取镜像,生成容器,并命名容器为:mytomcat
在Oracle 官网下载jdk,经过工具上传到centos 7中,而后拷贝到容器中,命令以下:vim
docker cp *****.gz mytomcat:/root
拷贝成功后,使用以下命令,进入容器mytomcat:centos
docker exec -it mytomcat bash
而后用cd ~切换到到root目录下,而后新建目录:/usr/local/java,并将jdk拷贝到此目录下,使用tar命令解压,解压完成后,配置系统路径:tomcat
vi ~/.bashrc
若是此时提示vi命令找不到,则须要运行如下命令,安装vi.bash
apt-get update#安装vi apt-get install vim
有了次软件后,打开.bashrc文件,并在其中添加以下两行:app
export JAVA_HOME=/usr/local/java/jdk1.8.0_211 export PATH=$JAVA_HOME/bin:$PATH
刷新配置:source ~/.bashrc,并用java -version测试是否安装成功。webapp
上传war包,并传入mytomcat容器中。注意,拷贝命令是:docker cp ibweb.war 97430ad8c4ba:/usr/local/tomcat/webapps,而非:docker cp ibweb.war 97430ad8c4ba:/webapps
而后使用命令重启容器,以测试war包发布
docker restart mytomcat
或者命令:
docker stop mytomcat
docker start mytomcat
测试经过后,将此容器创建镜像,所需命令为:
docker commit -a 'clyan' -m 'this is the first version' 3d9cdd799aef mytomcat:v1 #docker commit -m “提交说明文字” -a “做者” 要提交的容器名 提交后的镜像名:提交后的镜像tag名
注意,本命令既能够使用容器id,又能够使用容器名称。
打包成功后,须要打标签(此时若是不打标签为以下格式,则会出错)
docker tag e6d190ad3797 192.168.102.135:5000/mytomcat
tag语法:[容器ID|容器名称][仓库][标签]
完成后,推入私有库(此时要确保私有库已经运行)
docker push 192.168.102.135:5000/mytomcat
推入成功后,客户端从私有库中拉取镜像,并转为容器,并运行:
docker pull 192.168.102.135:5000/mytomcat
docker run -p 8080:8080 --name mytomcat 192.168.102.135:5000/mytomcat:v1
使用命令拉取私有仓库镜像,并安装:
docker pull registry docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name private_registry registry
Docker中配置私有仓库须要在:/etc/docker目录下创建文件daemon.json,内容以下:
{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": ["192.168.102.135:5000"] }
或者根据systemctl status docker来肯定docker文件,打开后在ExecStart行添加内容:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.221.129:5000
systemctl daemon-reload
systemctl restart docker
经常使用命令:
docker ps -n 5#查看容器 docker ps#查看运行容器 docker rm #删除容器 docker rmi #删除镜像