docker常用命令

后台运行jar
nohup /root/java/jdk1.8.0_111/bin/java -jar service-side.jar --Dspring.config.location=config/* >/dev/null 2>&1 &

复制dockers images  --查看本地镜像 
docker ps   --查看运行中的容器
docker start name 运行容器
docker stop name 停止容器运行
docker pull ${CONTAINER NAME}                    #拉取镜像                                     
docker ps -a                  #查看所有正在运行的容器,加-q返回id
docker rmi ${IMAGE NAME/ID}                      #删除镜像
docker rm ${CONTAINER NAME/ID}                   #删除容器
docker exec -it nginx /bin/bash        #进入容器
docker inspect name                    #查看容器信息
docker restart naem                 #重启容器
docker cp name:path path本机       #在容器内拷贝文件到本地
docker logs name                  #查看日志

-t:为容器分配 一个伪终端;-i:进行交互式的标准输入

启动

复制 docker run --name csXXX -d -p 8686:8686  cs1.0
                容器名字   后台运行     指定端口   镜像名字

打包

复制docker build -t name .

Dockerfile

复制FROM java:8
MAINTAINER lgl
ADD service-side.jar demo.jar
EXPOSE 8686
#设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-jar","demo.jar"]
复制#基于的基础镜像
FROM python:3.7.4

#代码添加到code文件夹,后面可以通过进入容器中看的
ADD ./ /code

# 设置code文件夹是工作目录
WORKDIR /code

# 安装支持
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

#当容器启动时,使用python3执行指定路径的py脚本
CMD ["python3", "/code/main.py"]
复制
FROM:基础镜像,当前镜像基于那个镜像的
 
MAINTAINER:镜像维护者的姓名和邮箱地址
 
RUN: 执行过程中需要执行的linux命令
 
WORKDIR:指定容器后,终端默认登陆的进来工作目录,一个落脚点
 
ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
 
COPY:类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<原路径>的文件/目录复制到新的一层的镜像内的<目标路径位置>  1、COPY src dest   2、COPY ["src","dest"]
 
VOLUME: 通过 VOLUME 指令创建的挂载点,本地可修改 直接生效,多个容器可以共用实现同步效果 (执行Dockerfile文件后直接生成文件路径,实现本地数据进行挂载)
 
ENV:定义环境变量的同时,可以引用已经定义的环境变量
 
EXPOSE:告诉 Docker 服务端容器暴露的端口号,供互联系统使用
 
CMD:命令设置容器启动后默认执行的命令及其参数,但CMD设置的命令能够被docker run命令后面的命令行参数替换
 
ENTRYPOINT:指定启动容器时执行的命令, ENTRYPOINT的目的和CMD一样,指定容器启动程序及参数 命令附加不覆盖
 
ONBUILD: 当构建一个被继承的Dockfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发
 
ENV:用来构建镜像过程中设置环境变量
复制

docker run -p 3306:3306 -d --name mymysql -v /docker/mysql/data:/usr/share/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5 

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v /docker/mysql/data:/usr/share/mysql:将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码

posted @   李广龙  阅读(1137)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2020-10-27 python-线程池方案
主题色彩
点击右上角即可分享
微信分享提示