后台運行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 用戶的密碼