天天看點

Docker基礎指令和時區問題Docker 指令

Docker 指令

1. 安裝Docker

# ubuntu系統安裝
$ sudo apt install docker-ce
# 啟動docker
$ sudo systemctl start docker
# 開機啟動docker
$ sudo systemctl enable docker
# 停止docker
$ sudo systemctl stop docker
           

2.Docker常用指令&操作

1)、鏡像操作

操作 指令 說明
檢索 docker search 關鍵字 eg:docker search redis 我們經常去docker hub上檢索鏡像的詳細資訊,如鏡像的TAG。
拉取 docker pull 鏡像名:tag :tag是可選的,tag表示标簽,多為軟體的版本,預設是latest
清單 docker images 檢視所有本地鏡像
删除 docker rmi image-id 删除指定的本地鏡像

2)、容器操作

#1、搜尋鏡像
$ sudo docker search tomcat
#2、拉取鏡像
$ sudo docker pull tomcat
#3、根據鏡像啟動容器
$ sudo docker run --name mytomcat -d tomcat:latest
#4、檢視運作中的容器
$ sudo docker ps  
#5、 停止運作中的容器
$ sudo docker stop  容器的id
#6、檢視所有的容器
$ sudo docker ps -a
#7、啟動容器
$ sudo docker start 容器id
#8、删除一個容器
$ sudo docker rm 容器id
#9、啟動一個做了端口映射的tomcat
$ sudo docker run -d -p 8888:8080 tomcat
-d:背景運作
-p: 将主機的端口映射到容器的一個端口    主機端口:容器内部的端口
--name: 指定容器名稱
-v:挂載檔案夾,可以挂載多個
--restart: 指定是否自動重新開機 

#10、檢視容器的日志
$ sudo docker logs container-name/container-id

更多指令參看
https://docs.docker.com/engine/reference/commandline/docker/
可以參考每一個鏡像的文檔
           

3)、其他注意事項

  • 如果建立時未指定容器是否重新開機,可以使用下面的指令修改
$ sudo docker update --restart=always 容器名/容器ID
--restart具體參數值詳細資訊:
no -  容器退出時,不重新開機容器;
on-failure - 隻有在非0狀态退出時才從新啟動容器;
always - 無論退出狀态是如何,都重新開機容器;
           
  • docker容器和系統時區不一樣
# 使用如下指令可以使容器中的時區和系統時區相同, date擷取時間可以測試
$ sudo docker cp /etc/localtime 容器名/容器ID:/etc/localtime
# 在使用jvm的時候,發現時區還是沒有變化, 就需要使用下面的指令了
$ sudo docker cp /etc/timezone 容器名/容器ID:/etc/timezone
# /etc/timezone檔案中有目前時區的設定,中原標準時間的設定為Asia/Shanghai, 可以使用cat指令檢視
$ cat /etc/timezone
           
  • 進入docker容器中
# 進入docker容器方法用好幾種, 這裡隻寫我用過的一種, 使用exec進入
sudo docker exec -it 容器名/容器ID /bin/bash