sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
1. mkdir -p /etc/docker
2. vim /etc/docker/daemon.json
配置文件内容,可以使用
{
"registry-mirrors": ["https://docker.mirrors.ustc.cn"]
}
systemctl daemon-reload
systemctl restart docker
systemctl stop docker
systemctl start docker
systemctl status docker
systemctl enable docker
sudo systemctl start docker
1.查看防火墙状态
firewall-cmd --state
如果没开启,开启防火墙的命令
systemctl start firewalld.service
添加对外开放的端口,一个80(Http端口),一个8080(tomcat),一个2206(mysql)
1. firewall-cmd --zone=public --add-port=80/tcp --permanent
2. firewall-cmd --zone=public --add-port=8080/tcp --permanent
3. firewall-cmd --zone=public --add-port=3306/tcp --permanent
开完端口,重新加载防火墙
firewall-cmd --reload
查看开放的端口
firewall-cmd --list-ports
从docker hub上查找mysql镜像
docker search mysql
从docker hub上拉取mysql,这里拉取的mysql版本是mysql5.7
docker pull mysql:5.7
运行mysql,开放的端口是3306,密码是123456, -d是后台运行
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456789 -d mysql:5.7
docker ps 查看容器创建成功
进入容器
docker exec -it 容器的id /bin/bash
mvn clean
mvn package
在target文件夹出现jar表示成功
编写Dockfile文件 将springboot jar包项目打包成Docker镜像 在 /home 目录下创建docker文件夹
mkdir /home/docker
上传jar包 编写Dockerfile文件
vim Dockerfile
完整命令, vim的使用方法:点击i开始编写,编写完后点击esc,点击冒号,输入wq保存
FROM java:8
ADD test-0.0.1-SNAPSHOT.jar /test.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/test.jar"]
注意,docker命令全部大写,这是规定。
FROM java:8
From 关键字表示,jar包依赖的环境。java:8 相当于jdk1.8
ADD test-0.0.1-SNAPSHOT.jar /test.jar
test-0.0.1-SNAPSHOT.jar:这是你上传jar包的名称。 /test.jar:这是自定义的名称。但是注意要有之前的/
EXPOSE 8080
项目暴露的端口号
ENTRYPOINT ["java","-jar","/test.jar"]
/test.jar此处的名称要和ADD命令后面的一样。
docker build -t if Dockerfile test:1.0 .
说明:
test
代表要打包成的镜像名称。按照自己实际情况写。
:1.0
代表版本号,可以不写则默认为latest
.
代表为当前目录。所以要在Dockerfile目录下。
接下来就可以查看到这个镜像已经被创建好了,运行这个镜像就可以了
docker images
运行镜像
docker run --name test-d -p 80:8080 test:1.0
运行后查看日志
docker logs 容器id或者容器返回id