所有操作均在CentOS7.2环境下,使用ROOT用户登录,本篇文章仅做为记录,方便自己日后查看.
1.docker基本操作
- 安装docker,依次执行以下命令
yum update
yum install docker
- 启动docker
systemctl start docker
- 设置开机自启
systemctl enable docker
- 查看docker版本
docker -v
- 更换docker容器镜像服务为阿里的仓库地址
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://vxozked9.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
- 搜索镜像
docker search 镜像名
- 下载镜像
docker pull 镜像名
- 重命名镜像的REPOSITORY
docker tag IMAGE_ID NEW_NAME
- 查看本地镜像
docker images
- 删除指定镜像 删除镜像前需要先删除占用的容器
docker rmi image-id
- 删除所有镜像
docker rmi $(docker images -q)
- 查看运行的容器列表
docker ps
- 查看所有的容器的状态
docker ps -a
- 运行镜像 -d 参数使容器在后台运行 --name 指定容器的名称,可以使用 -e 传递启动参数给容器
docker run --name 容器名 -d image-name
//例如 启动redis
docker run --name test-redis -d redis
- 端口映射 例如 映射redis端口
docker run -d -p 6379:6379 --name test-redis redis
- 启动容器
docker start container-name/container-id
- 停止容器
docker stop container-name/container-id
- 删除容器
//删除指定容器
docker rm container-id
/删除所有容器
docker rm $(docker ps -a -q)
- 常看容器日志
docker logs container-name/container-id
- 登录容器
docker exec -it container-name/container-id bash
- 编译镜像
docker build -t 镜像名 Dockerfile文件路径
2.部署SpringBoot项目
1.创建SpringBoot项目,将项目pom.xml文件中的springBoot maven插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--加上这个配置-->
<configuration>
<executable>true</executable>
</configuration>
</plugin>
2.将项目打成jar包
3.复制jar包到 /var/apps/demo.jar
4.在 /var/apps/ 目录创建 Dockerfile文件,输入以下内容
#基于java 8 镜像
FROM java:8
#作者
MAINTAINER wangkaibo
#将 与Dockerfile文件同目录的demo.jar文件复制到镜像中(Linux操作系统的根目录)名称为 app.jar
ADD demo.jar app.jar
#让 运行镜像的容器 去监听8080端口
EXPOSE 8080
#镜像启动时运行 java -jar /app.jar命令
ENTRYPOINT ["java","-jar","/app.jar"]
- 编译镜像
#不能漏掉 最后的 . 这个点表示当前目录 指定Dockerfile的路径 即当前目录
cd /var/apps
docker build -t wisely/demo-docker .
6.运行
[root@kaibo apps]# docker run -d --name demo -p 8080:8080 wisely/demo-docker
58e4a152c1b5f3780bdc66541a83c57957488976c9bc0a57451109ad1575df6e
7.查看容器输出
[root@kaibo apps]# docker logs 58e4a152c1b5f3780bdc66541a83c57957488976c9bc0a57451109ad1575df6e
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.1.RELEASE)
2018-05-09 14:13:54.429 INFO 1 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication v0.0.1-S NAPSHOT on 58e4a152c1b5 with PID 1 (/app.jar started by root in /)
2018-05-09 14:13:54.442 INFO 1 --- [ main] com.example.demo.DemoApplication : No active profile set, falling ba ck to default profiles: default
......
8.查看容器运行状态
[root@kaibo apps]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58e4a152c1b5 wisely/demo-docker "java -jar /app.jar" 57 minutes ago Up 57 minutes 0.0.0.0:8080->8080/tcp demo