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 用戶的密碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM