docker 部署相关命令

DockerFile 制作:

FROM openjdk:17-jdk-alpine
ENV LANG=C.UTF-8

WORKDIR /app
COPY ./config/ /app/config
COPY ./lib/ /app/lib
COPY ./iot-server-1.0.jar /app

ENV TimeZone=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone
ENTRYPOINT ["sh","-c","java -Duser.timezone=GMT+8 -Dloader.path=./lib -jar ./iot-server-1.0.jar "]

 


关闭防火墙
systemctl stop firewalld
禁止防火墙开机自启动

systemctl disable firewalld
启动docker

systemctl start docker
查询当前状态

systemctl status docker


查看版本号(可以查看是否安装了docker 容器)
docker -v

查看 docker-compose 版本
docker compose version

拉取镜像
docker pull hello-world

启动容器
docker run hello-world

输出 Hello from Docker! 说明成功


拉取镜像:
docker pull 镜像名称:版本
如果不指定版本,则拉取最新版本

运行镜像:
docker run -itd --name 运行的名称 镜像名称
# --link 运行的名称:镜像别名(可以直接修改镜像的hosts映射)(/etc/hosts)
docker run -itd --name 运行的名称 --link 运行的名称:镜像别名 镜像名称

查看运行的容器:
docker ps

查看历史运行容器:
docker ps -a

停止容器运行:
docker stop 运行的名称

删除容器(如果镜像名称有且只有一个,就可以使用ID删除,如果有多个,就要使用"镜像名称:版本号"进行删除)
docker rmi -f 镜像ID/镜像名称 rmi 镜像名称/镜像名称:版本号

删除历史容器(运行中/已停止)
docker rm 容器名称

删除已经停止的容器
docker container prune

进入运行容器执行命令
docker exec -it 运行的名称

查看运行容器ip地址
docker exec -it 运行的名称 hostname -i

进入运行容器查看内部数据:
docker exec -it 运行的名称 bash

进入容器内部后退出
exit

# 查看本地镜像
docker images
表头说明:
REPOSITORY:镜像名称
TAG:镜像版本 latest指最新版
IMAGE ID:镜像ID(删除时会用到)
CREATED:创建时间
SIZE:镜像大小

# 搜索镜像(docker search 镜像名称)(自动到 docker hub 上查询)
docker search nginx
(搜索展示的结果没有版本号,想要下载具体的版本,到docker hub 上查询具体版本)
表头说明:
NAME:镜像名称
DESCRIPTION:描述信息
STARS:点赞数
OFFICIAL:是否为官方团队维护

# 拉取镜像(没有版本号默认拉取最新版)
docker pull nginx

# 删除镜像(如果镜像名称有且只有一个,就可以使用ID删除,如果有多个,就要使用"镜像名称:版本号"进行删除)
docker rmi 镜像ID / docker rmi 镜像名称:版本号

# 查看所有的镜像列表
docker images -q




启动docker

systemctl start docker


ps -ef |grep docker


四、容器间传递共享
先启动一个父容器dc01
docker build -f /docker/dockerfile1 -t wang/centos . (.是必备)

再启动dc02、dc03继承自dc01,并创建文件
docker run -it --name dc02 --volumes-from dc01 wang/centos
docker run -it --name dc02 --volumes-from dc01 wang/centos
touch a.txt

回到dc01 可以看到02/03各自添加的都能共享了
docker attach dc01
ll 查看

删除dc01,dc02修改后,dc03可否访问
docker rm -f dc01
docker rm -f dc02
docker attach dc 03
ll 查看

新建dc04继续dc03再删除dc03
docker run -it --name dc04 --volumes-from dc03 wang/centos
docker rm -f dc03
docker attach dc04
ll 查看


重启docker服务后再启动容器
systemctl restart docker
docker start foo


 1、进入容器: docker container exec -it 容器id /bin/bash

① 直接进入容器中的mongodb:sudo docker exec -it mongo mongosh

    ② docker exec -it containerName /bin/bash






$ sudo docker exec -it 775c7c9ee1e1 /bin/bash
docker exec -it [容器ID或名称] /bin/bash # 进入容器
docker exec -it 6ae8b61ef727 /bin/bash #

docker inspect --format='{{.LogPath}}' <container_name>
docker inspect --format='{{.LogPath}}' <container_name>


docker 启动日志默认:
/var/lib/docker/containers/容器ID/容器ID-json.log

docker exec -it a27a1805ddde /var/lib/docker/containers/
sudo docker exec -it a27a1805ddde /bin/bash
docker logs iot-server

--------------------------------------------------------------------------------------------------------------------------------------------
Nginx 的重启
重载配置(无中断服务) : nginx -s reload



目标路径:
/v0/iot/server

查看镜像
docker images

停止容器运行:
docker stop 容器ID

移除镜像
docker rmi -f iot-server (名称)

目录
/v0/iot/server

docker build -t iot-server .

docker run -d -p 8899:8899 iot-server

#删除容器
docker container rm b120d16083264b3b77dfd8c14c5b52ff917b77c441a1e2378bf2f506f1976fad

#映射外部日志、附件目录
docker run -d -p 8899:8899 -v /v0/iot/server/logs:/app/logs/ iot-server 容器名称
docker run -d -p 8899:8899 -v /v0/iot/server/logs:/app/logs/ -v /v0/iot/server/myFile:/app/myFile/ -v /v0/iot/server/temp:/app/temp/ iot-server


#进入容器
docker exec -it nifty_ardinghelli /bin/sh

#docker 内文件地址
fileDir: /app/myFile
#zip文件存放临时目录
zipTempDir: /app/temp

docker run -d -p 8899:8899 -v /v0/iot/server/logs:/app/logs/ -v /v0/iot/server/myFile:/app/myFile/ -v /v0/iot/server/temp:/app/temp/ iot-server

 

posted @ 2024-12-18 16:32  醉舞红尘  阅读(23)  评论(0)    收藏  举报