docker 笔记

78 阅读2分钟

docker命令分类

Docker环境信息 — docker [info|version]

容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]

容器操作管理 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]

容器rootfs命令 — docker [commit|cp|diff]

镜像仓库 — docker [login|pull|push|search]

本地镜像管理 — docker [build|images|rmi|tag|save|import|load]

容器资源管理 — docker [volume|network] 系统日志信息 — docker [events|history|logs]

image.png

Spring boot jar包打成docker镜像 准备工作


新建自定义镜像目录
mkdir -p /opt/work
将skywalkingdemo1.jar复制到/data/skywalking目录中
[root@studyMachine work]# cp -r /opt/server/apache-skywalking-8.7.0/agent ./  
[root@studyMachine work]# ll
总用量 47428
drwxr-xr-x. 9 root root      176 217 11:09 agent
-rw-r--r--. 1 root root      892 217 10:58 Dockerfile
-rw-r--r--. 1 root root 48551845 217 11:01 jiang-mall-user-1.0.1.jar
-rwxr-xr-x. 1 root root     1024 214 10:09 startupJiang.sh
-rwxr-xr-x. 1 root root      485 212 15:24 startup.sh
[root@studyMachine work]# 

image.png Dockerfile


FROM openjdk:8-alpine3.9
# 作者信息
MAINTAINER jiang Docker skywalking springboot "jiang@163.com"

RUN apk --update add curl bash tzdata && \
    rm -rf /var/cache/apk/*

ENV TZ Asia/Shanghai

VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} /app.jar
COPY agent/ /opt/skyagent
EXPOSE 8010

ENV JAVA_OPTS="-server -Xmx256m -Xms256m" AGENT_SERVICE_NAME="jiang-mall-user" AGENT_COLLETOR_ADDRESS="192.168.66.132:11800"
ENTRYPOINT java -javaagent:/opt/skyagent/skywalking-agent.jar=agent.service_name=${AGENT_SERVICE_NAME},collector.backend_service=${AGENT_COLLETOR_ADDRESS} ${JAVA_OPTS} -jar /app.jar

制作镜像

docker build --rm -t jiang/jiang-mall-user:1.0 --build-arg JAR_FILE=jiang-mall-user-1.0.1.jar .   
[root@studyMachine work]# docker build --rm -t jiang/jiang-mall-user:1.0 --build-arg JAR_FILE=jiang-mall-user-1.0.1.jar .                    
Sending build context to Docker daemon     82MB
Step 1/11 : FROM openjdk:8-alpine3.9
 ---> a3562aa0b991
Step 2/11 : MAINTAINER jiang Docker skywalking springboot "jiang@163.com"
 ---> Using cache
 ---> ed32b4385bfb
Step 3/11 : RUN apk --update add curl bash tzdata &&     rm -rf /var/cache/apk/*
 ---> Running in 3fa45fc9f65d
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
(1/10) Installing ncurses-terminfo-base (6.1_p20190105-r0)
(2/10) Installing ncurses-terminfo (6.1_p20190105-r0)
(3/10) Installing ncurses-libs (6.1_p20190105-r0)
(4/10) Installing readline (7.0.003-r1)
(5/10) Installing bash (4.4.19-r1)
Executing bash-4.4.19-r1.post-install
(6/10) Installing nghttp2-libs (1.35.1-r2)
(7/10) Installing libssh2 (1.9.0-r1)
(8/10) Installing libcurl (7.64.0-r5)
(9/10) Installing curl (7.64.0-r5)
(10/10) Installing tzdata (2020c-r1)
Executing busybox-1.29.3-r10.trigger
OK: 117 MiB in 64 packages
Removing intermediate container 3fa45fc9f65d
 ---> 6c2e8ec90ce4
Step 4/11 : ENV TZ Asia/Shanghai
 ---> Running in 529b266f60dd
Removing intermediate container 529b266f60dd
 ---> c07c356ff1b4
Step 5/11 : VOLUME /tmp
 ---> Running in df7fa03cd03e
Removing intermediate container df7fa03cd03e
 ---> a2bede4c64f0
Step 6/11 : ARG JAR_FILE
 ---> Running in 0b507a645ab0
Removing intermediate container 0b507a645ab0
 ---> 2a97a40cd476
Step 7/11 : COPY ${JAR_FILE} /app.jar
 ---> d659ca9ac297
Step 8/11 : COPY agent/ /opt/skyagent
 ---> f8fdebcc8943
Step 9/11 : EXPOSE 8081
 ---> Running in 25a83681e49f
Removing intermediate container 25a83681e49f
 ---> e74540bcefb1
Step 10/11 : ENV JAVA_OPTS="-server -Xmx256m -Xms256m" AGENT_SERVICE_NAME="jiang-mall-user" AGENT_COLLETOR_ADDRESS="192.168.66.132:11800"
 ---> Running in 1054883417d2
Removing intermediate container 1054883417d2
 ---> ba09d8cb3b8c
Step 11/11 : ENTRYPOINT java -javaagent:/opt/skyagent/skywalking-agent.jar=agent.service_name=${AGENT_SERVICE_NAME},collector.backend_service=${AGENT_COLLETOR_ADDRESS} ${JAVA_OPTS} -jar /app.jar
 ---> Running in eb185e7513b8
Removing intermediate container eb185e7513b8
 ---> 3701b5ffb5ed
Successfully built 3701b5ffb5ed
Successfully tagged jiang/jiang-mall-user:1.0
[root@studyMachine work]# 

image.png 运行镜像

 docker run -itd --name jiang-mall-user01 -p 8010:8010 jiang/jiang-mall-user:1.0

image.png

image.png 测试项目

docker logs -f jiang-mall-user01
http://192.168.66.132:8010/user/list
docker stop jiang-mall-user01
docker rm jiang-mall-user01

image.png