cd ~
cd .. 退出当前目录
docker update --restart=always 容器id(或者容器名称)将已经存在的容器设置为开机自启
----------------------------------------------------------------------------
docker images 查看本地镜像
docker rmi 镜像名 删除本地镜像
docker ps 查看正在运行容器列表
docker ps -a 查看所有容器
docker rm -f 容器名 删除容器
docker logs -f 容器名 查看日志
docker run -d --name 容器名 -p 端口映射(宿主机:容器) -e 环境变量 镜像名称 创建并运行容器
docker exec -it 容器名 bash 进入容器内部
docker inspect 容器名 查看你容器详细信息
--------------------------------------------------------------------------
docker pull 从远端镜像仓库拉取到本地镜像
docker push 从本地镜像仓库拉推到远端镜像
docker save -o 压缩文件名 镜像名:版本号 打包镜像成压缩文件镜像
docker load -i 压缩文件名 将压缩文件镜像加载到本地镜像
docker stop 停止容器中的进程(模拟计算机环境)
docker start 启动容器中的进程(模拟计算机环境)
--------------------------------------------------------------------------
i 编写
按Esc :wq 退出编写
--------------------------------------------------------------------------
宿主机/var/lib/docker/volumes/下的挂载
docker run -d --name 容器名 -p 端口映射(宿主机:容器) -e 环境变量 -v 数据卷名称:容器要挂载的目录 镜像名称 创建容器并数据卷挂载
docker volume create 创建数据卷
docker volume ls 查看所有数据卷
docker volume rm 删除指定数据卷
docker volume inspect 数据卷名 查看某个数据卷的详情
docker volume inspect es-plugins
docker volume prune 删除未使用的数据卷
----------------------------------------------------------------------------
宿主机目录挂载(推荐实现了数据双向绑定,即使删了了mysql容器,数据依然在)
mkdir 目录名 创建目录
docker run -d --name 容器名 -p 端口映射(宿主机:容器) -e 环境变量 -v 本地目录:容器要挂载的目录 镜像名称 创建容器并挂载在宿主机目录下
---------------------------------------------------------------------------
Dockerfile
FROM 指定基础镜像
ENV 设置环境变量,可在后面指令使用
COPY 拷贝本地文件到镜像的指定目录
RUN 执行Linux的shell命令,一般是安装过程的命令
EXPOSE 指定容器运行时监听的端口,是给镜像使用者看的
ENTRYPOINT 镜像中应用的启动命令,容器运行时调用
准备jar包和Dockerfile文件(描述镜像的结构和构建过程)
docker build -t 镜像名:版本 . (注意最后有一个点,是指定Dockerfile所在目录)
或者docker build -t 镜像名:版本 Dockerfile目录
----------------------------------------------------------------------------
自定义网络
ip addr 查看网卡(网桥)
docker network create 创建一个网络
docker network ls 查看所有网络
docker network rm 删除指定网络
docker network prune 清除未使用的网络
docker network connect 使指定容器连接加入某网络
docker network disconnect 使指定容器连接离开某网络
docker network inspect 查看网路详细信息
docker run -d --name dd -p 8080:8080 --network heima docker-demo
在创建容器dd时加入自定义网络黑马, docker-demo为镜像
---------------------------------------------------------------------------
项目部署
创建网络
docker network create heima
在本地目录下创建mysql容器并加入同一网络heima中
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/ShangHai \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/init:/docker-entrypoint-initdb.d \
-v /root/mysql/conf:/etc/mysql/conf.d \
mysql
部署后端
用maven生命周期package打包jar包,生成target文件,里面有jar包
将Dockerfile文件和jar在docker中执行docker build -t hmall .完成镜像构建
运行镜像,放在跟MySQL同一个网络中 docker run -d --name hm -p 8080:8080 --network heima hmall
部署前端
docker run -d --name nginx -p 18080:18080 -p 18081:18081 \
-v /root/nginx/html:/usr/share/nginx/html \
-v/root/nginx/nginx.conf:/etc/nginx/nginx.conf \
--network heima \
nginx
--------------------------------------------------------------------------
docker compose -f 指定compose文件的路径和名称-p 项目名 up -d
docker compose up -d 后台启动, 启动所有服务并在后台运行
docker compose stop 停止服务容器
docker compose start 启动服务容器
docker compose down 删除服务容器
Java-docker常用命令
最新推荐文章于 2024-09-02 17:46:18 发布