可以参考docker使用教程:https://www.runoob.com/docker/docker-run-command.html
环境准备
centos7 版本及以上,也就是内核版本必须是3.10及以上。可以通过uname -r命令检查内核版本。
uname -r
使用 sudo 或 root 权限的用户登入终端
确保yum是最新版本的
yum update
安装
1. 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装 Docker-CE
yum install docker-ce
4. 设置开机自启动 Docker-CE
systemctl enable docker
5. 启动并查看 Docker-CE
systemctl start docker
systemctl status docker
6. 阿里云镜像加速配置
打开这个地址登录并且设置密码https://cr.console.aliyun.com/cn-beijing/instances/mirrors
[sudo] mkdir -p /etc/docker
[sudo] tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你的加速器地址"]
}
EOF
之后重新加载配置,并且重启 Docker 服务
systemctl daemon-reload
systemctl restart docker
Docker常用命令
- 查看docker版本
docker -v
- 拉取镜像
docker pull <镜像名:tag>
# 例如:docker pull sameersbn/redmine:latest
- 查看正在运行的容器,反正没看到我那个启动失败容器
docker ps
- 查看所有的容器
docker ps -a
- 查看镜像
docker images
- 删除镜像
docker rmi 镜像id(镜像名称)
- 删除容器
docker rm 容器id(容器名称)
- 停止容器
docker stop 容器id(容器名称)
- 启动容器
docker start 容器id(容器名称)
运行一个springboot项目示例
(作者当前不是ront用户,已经在给改用户开了权限可以使用sudo命令)
将项目打包,上传到服务器的指定目录
在该目录下创建Dockerfile文件
touch Dockerfile
vi Dockerfile
Dockerfile写入如下指令
FROM java:8
MAINTAINER demo
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
EXPOSE 8010
ENTRYPOINT ["java","-jar","demo.jar"]
其中指令的含义:
FROM:基础镜像,FROM java:8 指的是拉取一个jdk1.8的镜像
MAINTAINER:作者,MAINTAINER demo 作者是demo
ADD: 将打包的可执行jar包复制到镜像中并重命名(用 COPY 也可),ADD demo-0.0.1-SNAPSHOT.jar demo.jar将demo-0.0.1-SNAPSHOT.jar 复制到镜像中并重命名为 demo.jar
EXPOSE: 声明端口
ENTRYPOINT : 容器启动之后执行的命令,java -jar demo.jar 即启动jar
创建好Dockerfile文件之后,执行命令 构建镜像
sudo docker build -t my-demo .
注意最后的 . 表示Dockerfile在当前文件目录下。my-demo表示构建的镜像,构建成功后可以使用docker images命令查看镜像。
镜像构建成功之后,就可以运行容器
sudo docker run -d -p 8010:8010 --name demo my-demo
其中参数的含义:
-d :后台运行容器,并返回容器ID
-p :指定端口映射
最后的 my-demo指定镜像
启动容器后可以使用 docker ps命令查看启动的容器
日志查看:
查看时时日志
sudo docker logs -f (镜像id)
查看最近30分钟的日志:
sudo docker logs --since 30m (镜像id)
查看某时间之后的日志:
sudo docker logs -t --since=“2019-11-02T13:23:37” (镜像id)