1.docker依赖于系统的一些必要的工具,安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
4.安装可选指定版本或最新版本安装
使用该命令可列出从高到低Docker-ce的版本
yum list docker-ce.x86_64 --showduplicates | sort -r
yum -y install docker-ce
systemctl start docker
6.查看docker版本
docker version
6.镜像加速
Docker国内镜像:
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc的镜像:https://docker.mirrors.ustc.edu.cn
cd /etc/docker/ #进入目录
touch daemon.json #如没有该文件则新建
vi daemon.json #增加如下内容
{
"registry-mirrors": ["https://hub-mirror.c.163.com"]
}
systemctl daemon-reload #通知docker服务做出的修改
systemctl restart docker #重启docker后台服务
error: rpmdb: BDB0113 Thread/process 25515/139945191524416 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
cd /var/lib/rpm
rm -rf __db*
rpm --rebuilddb
1.修改配置文件
#进入目录
cd /lib/systemd/system
# 编辑文件
vi docker.service
#修改ExecStart的值,端口自定义即可
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:5555 -H unix://var/run/docker.sock
curl -v -X GET localhost:5555/_ping
systemctl daemon-reload #通知docker服务做出的修改
systemctl restart docker #重启docker后台服务
curl -v -X GET localhost:5555/_ping
重启后访问返回如下
3.浏览器访问
http://ip:port/version
先在项目src/main下新建docker文件夹和Dockerfile
Dockerfile文件如下
FROM java:8
VOLUME /tmp
ADD test-0.0.1-SNAPSHOT.jar test.jar
RUN sh -c 'touch /test.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /test.jar" ]
参数解释
1.FROM 指向需要创建的容器名称 java:8 (除了注释之外,必须是第一行写,否则报错)如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了
2.tag 不写默认取latest,可以认为是版本号
3.ADD 向容器中添加文件,主机文件,网络文件,文件夹,项目的 jar 文件作为 “test.jar” 添加到容器的
4.VOLUME 指定挂载点,主机其他容器
5.RUN 用于修改镜像命令,常用安装库,程序以及配置程序
6.ENV 设置容器的环境变量
7.CMD 启动容器默认命令
8.ENTRYPOINT 与CMD类似,与CMD配合使用
1.在服务器新建一个docker文件夹,将maven打包好的jar包和Dockerfile文件复制到服务器的docker文件夹下
2.制作镜像(此命令后面有个点)
docker build -t springbootdockertest1 .
3.使用docker images查看镜像
4.启动
-d参数是让容器后台运行
-p是做端口映射,port(服务器端口):port(容器里程序的端口)
docker run -d -p 6789:6789 springbootdockertest1
1.增加项目的pom配置
1.dockerHost配置自己的docker地址
2.imageName自定义
com.spotify
docker-maven-plugin
0.4.13
springbootdocker${project.artifactId}2
src/main/docker
http://XXX.XXX.XXX.XXX:5555
/
${project.build.directory}
${project.build.finalName}.jar
2.这里我修改了程序端口号与手动部署的方式区分开
3.项目打包成镜像
在eclipse下的话右击项目-》run as -》maven build
clean package docker:build
docker run -d -p 6788:6788 springbootdockertest2