所有操作均在CentOS7.2環(huán)境下,使用ROOT用戶登錄,本篇文章僅做為記錄,方便自己日后查看.
1.docker基本操作
- 安裝docker,依次執(zhí)行以下命令
yum update
yum install docker
- 啟動docker
systemctl start docker
- 設(shè)置開機自啟
systemctl enable docker
- 查看docker版本
docker -v
- 更換docker容器鏡像服務(wù)為阿里的倉庫地址
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
- 查看所有的容器的狀態(tài)
docker ps -a
- 運行鏡像 -d 參數(shù)使容器在后臺運行 --name 指定容器的名稱,可以使用 -e 傳遞啟動參數(shù)給容器
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.創(chuàng)建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.復(fù)制jar包到 /var/apps/demo.jar
4.在 /var/apps/ 目錄創(chuàng)建 Dockerfile文件,輸入以下內(nèi)容
#基于java 8 鏡像
FROM java:8
#作者
MAINTAINER wangkaibo
#將 與Dockerfile文件同目錄的demo.jar文件復(fù)制到鏡像中(Linux操作系統(tǒng)的根目錄)名稱為 app.jar
ADD demo.jar app.jar
#讓 運行鏡像的容器 去監(jiān)聽8080端口
EXPOSE 8080
#鏡像啟動時運行 java -jar /app.jar命令
ENTRYPOINT ["java","-jar","/app.jar"]
- 編譯鏡像
#不能漏掉 最后的 . 這個點表示當(dāng)前目錄 指定Dockerfile的路徑 即當(dāng)前目錄
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.查看容器運行狀態(tài)
[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