【Docker】基本使用
阿新 • • 發佈:2022-11-30
服務
- 啟動docker
systemctl start docker
- 重啟docker
systemctl restart docker
- 停止docker
systemctl stop docker.socke
systemctl stop docker
- 如果linux重啟需要重啟docker服務
systemctl daemon-reload
systemctl restart docker.service
- 設定中國映象
# vi /etc/docker/daemon.json { "registry-mirrors": [ "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com", "http://520emlt4.mirror.aliyuncs.com" ] } # systemctl daemon-reload # systemctl restart docker
映象
- 檢視映象
docker images
- 刪除映象
docker rmi IMAGE ID
*ps: 刪除映象(需要先刪除容器)
docker ps -a # 檢視容器
docker stop <#id> # 停止一個或多個容器
docker rm <#id> # 刪除一個或多個容器
docker image ls -a # 檢視映象
docker rmi <#id> # 刪除一個或多個映象
- 拉取映象
docker pull jenkins/jenkins
- 執行映象
docker run -d -uroot -p 8888:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
命令 | 描述 |
---|---|
-d | 後臺執行容器,並返回容器ID |
-uroot | 使用 root 身份進入容器,推薦加上,避免容器內執行某些命令時報許可權錯誤 |
-p 9095:8080 | 將容器內8080埠對映至宿主機9095埠,這個是訪問jenkins的埠 |
-p 50000:50000 | 將容器內50000埠對映至宿主機50000埠 |
--name jenkins | 設定容器名稱為jenkins |
-v /home/jenkins_home:/var/jenkins_home | :/var/jenkins_home目錄為容器jenkins工作目錄,我們將硬碟上的一個目錄掛載到這個位置,方便後續更新映象後繼續使用原來的工作目錄 |
-v /etc/localtime:/etc/localtime | 讓容器使用和伺服器同樣的時間設定 |
jenkins/jenkins | 映象的名稱,這裡也可以寫映象ID |
- 檢視日誌
docker logs jenkins
容器
- 檢視容器
- 此時的狀態有 Up About / Exited
docker ps -a
- 刪除容器
- 將 Exited 狀態的容器刪除
docker rm 容器ID
- 啟動/重啟/停止容器
docker start 容器ID
docker restart 容器ID
docker stop 容器ID
- 進入/退出容器
docker exec -it 容器ID bash
exit
docker restart 容器ID
檢視docker中的xxx容器版本
- 拉取映象
docker pull redis
- 執行映象
docker run -p 6379:6379 -v $PWD/data:/data -d redis:latest redis-server --appendonly yes --requirepass 123456
-p 6379:6379 : 將容器的6379埠對映到主機的6379埠
-v $PWD/data:/data : 將主機中當前目錄下的data掛載到容器的/data
redis-server --appendonly yes : 在容器執行redis-server啟動命令,並開啟redis持久化配置
- 以檢視redis版本為例
docker exec -it edfb37d82fde redis-server -v
docker-compose
這裡以啟動一個jenkins為例
- 配置
mkdir -p /usr/local/jenkins
cd /usr/local/jenkins
vim docker-compose.yml
# docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
jenkins
restart: always
image: jenkins/jenkins:2.204.5
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./data:/var/jenkins_hom
- 啟動
cd /usr/local/jenkin
mkdir -p data # 注意如果重灌jenkins,先刪除這個資料夾並重新生成
chmod -R 777 data # yml中的 volumes對應的對映目錄 ./dat
systemctl restart docker # 如果報錯每次修改請重啟docker
docker-compose up -d # 啟動jenkins
docker-compose ps # state的狀態為up即啟動成功
docker-compose logs -f # 實時檢視啟動情況,注意記錄初始密碼
常用程式看裝
mysql
官網
安裝
- 安裝錢檢視系統是否安裝lnmp,停止其中的mysql
lnmp status
lnmp mysql stop
- 拉取mysqlDdocker映象
- 執行容器
docker run -itd --name mysql5739 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql daff57b7d2d1/daff57b7d2d1