docker問題 1. 安裝 docker 下載依賴環境 yum -y install yum-utils device-mapper-persistent-data lvm2 指定Docker鏡像源 # 使用的是阿裡的 yum-config-manager --add-repo http://mi ...
docker問題
1. 安裝 docker
-
下載依賴環境
yum -y install yum-utils device-mapper-persistent-data lvm2
-
指定Docker鏡像源
# 使用的是阿裡的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 使用 yum 安裝
yum makecache fast
yum -y install docker-ce
-
啟動Docker並測試
# 啟動Docker服務
systemctl start docker # 關閉 systemctl stop docker
# 設置開機自動啟動
systemctl enable docker #關閉 systemctl disable docker
# 測試 運行hello-world 鏡像 根據這個鏡像 創建容器
docker run hello-world
-
配置docker倉庫
5.1 配置阿裡鏡像加速
# 複製粘貼即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tp01urzb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5.2 添加鏡像
vi /etc/docker/daemon.json
# 內容如下,一開始只有第一個加速鏡像,拉取mysql時拉不下來,就多加了幾個
{
"registry-mirrors": [
"https://tp01urzb.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.ustc.edu.cn",
"https://reg-mirror.qiniu.com"
]
}
# 重啟兩個服務 註意上邊鏡像地址用"",每個鏡像之間有逗號,寫錯重啟會報錯
systemctl daemon-reload
systemctl restart docker
2. 鏡像/容器操作
-
拉取鏡像
從中央倉庫拉取鏡像到本地
docker pull 鏡像名 # 預設拉取最新版本
# 拉取 Tomcat 以及指定版本 Tomcat
docker pull tomcat
docker pull tomcat:8 # tomcat 8
-
查看本地鏡像
docker images
-
刪除本地鏡像
docker rmi 鏡像標識
# 當利用該鏡像創建了容器時,要先刪除容器,再刪除鏡像
-
運行容器
# 簡單操作
docker run 鏡像的標識|鏡像名稱[:tag]
# 常用的一些參數,以上邊Tomcat 為例
docker run -d -p 8080:8080 --name tomcat8 64fbf6b1021d
# -d 後臺運行容器
# -p 宿主機埠:容器埠 為了映射當前Linux的埠和容器的埠
# --name 容器名稱:指定容器名稱
# 最後一個參數是 鏡像名 或者 鏡像標識
-
查看容器
# 查看正在運行的容器
docker ps
# 查看所有的容器
docker ps -a
# 查看容器日誌
# -f:可以滾動查看日誌的最後幾行
docker losg -f 容器id
-
進入容器內部
docker exec -it 容器id bash
# 退回到宿主機 control+p+q
-
重啟&啟動&停止&刪除容器
# 重新啟動容器
docker restart 容器id
# 啟動停止運行的容器
docker start 容器id
# 停止指定的容器(刪除容器前,需要先停止容器)
docker stop 容器id
# 停止全部容器
docker stop $(docker ps -qa)
# 刪除指定容器
docker rm 容器id
# 刪除全部容器
docker rm $(docker ps -qa)
# 查看容器元信息
docker inspect 容器id
# 設置容器自動啟動
docker update --restart=always 容器id
3. docker安裝 Tomcat
docker search tomcat
docker pull tomcat # 自動拉取最新鏡像
docker pull tomcat:8 # 拉去指定版本
docker images # 查看本地鏡像
# 創建容器 -d 後臺運行, -p 宿主機埠號:容器埠號, --name 容器名 鏡像標識 | 鏡像名
docker run -d -p 8080:8080 --name tomcat1 tomcat:8
4. Mysql
-
拉取鏡像,查看鏡像標識
docker pull mysql:8
# 查看標識
docker images
-
創建容器
docker run -d -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root 2a6a0d93ee45
# -e MYSQL_ROOT_PASSWORD=root 為資料庫設置密碼
-
進入容器測試
# 進入容器
docker exec -it mysql8 bash