后台运行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 用户的密码