1. 程式人生 > 其它 >【Docker】基本使用

【Docker】基本使用

服務

  • 啟動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