柚子快報(bào)激活碼778899分享:容器 Docker 學(xué)習(xí)筆記
柚子快報(bào)激活碼778899分享:容器 Docker 學(xué)習(xí)筆記
Docker // 是一個(gè) Client - Server 結(jié)構(gòu)
推薦視頻:【狂神說(shuō)Java】Docker最新超詳細(xì)版教程通俗易懂_嗶哩嗶哩_bilibili
幫助命令
幫助文檔:https://docs.docker.com/reference
Docker 命令 --help # 萬(wàn)能命令
Docker version # 查看版本
Docker info # 顯示docker的系統(tǒng)信息 包括鏡像和容器數(shù)量
Docker run xxx # 運(yùn)行本機(jī)指定鏡像
鏡像命令
docker images // 鏡像命令
[root@localhost ~]# docker images
REPOSITORY ? TAG ? ? ? IMAGE ID ? ? ? CREATED ? ? ? ? SIZE
hello-world ? latest ? feb5d9fea6a5 ? 13 months ago ? 13.3kB
?
# 解釋
REPOSITORY 鏡像的倉(cāng)庫(kù)源
TAG 鏡像的標(biāo)簽
IMAGE ID 鏡像的ID
CREATED 鏡像的創(chuàng)建時(shí)間
SIZE 鏡像的大小
?
# 可選項(xiàng)
-a, --all ? ? ? ? ? ? # 列出所有鏡像
-q, --quiet ? ? ? ? ? # 只顯示鏡像ID
docker search // 搜索鏡像
[root@localhost ~]# docker search mysql
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? DESCRIPTION ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? STARS ? ? OFFICIAL ? AUTOMATED
mysql ? ? ? ? ? ? ? ? ? ? ? ? ? MySQL is a widely used, open-source relation… ? 13345 ? ? [OK] ? ? ?
mariadb ? ? ? ? ? ? ? ? ? ? ? ? MariaDB Server is a high performing open sou… ? 5098 ? ? [OK] ? ? ?
phpmyadmin ? ? ? ? ? ? ? ? ? ? phpMyAdmin - A web interface for MySQL and M… ? 657 ? ? ? [OK] ? ? ?
percona ? ? ? ? ? ? ? ? ? ? ? ? Percona Server is a fork of the MySQL relati… ? 592 ? ? ? [OK] ?
?
# 可選項(xiàng)
--filter=STARS=3000 # 搜索出來(lái)的鏡像就是STARS大于3000的
[root@localhost ~]# docker search mysql --filter=STARS=3000
NAME ? ? DESCRIPTION ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? STARS ? ? OFFICIAL ? AUTOMATED
mysql ? ? MySQL is a widely used, open-source relation… ? 13345 ? ? [OK] ? ? ?
mariadb ? MariaDB Server is a high performing open sou… ? 5098 ? ? [OK] ?
docker pull // 下載鏡像
# 下載鏡像 docker pull 鏡像名[:tag] // 版本
[root@localhost ~]# docker pull mysql
Using default tag: latest # 如果不寫(xiě)版本 tag 默認(rèn)就是laster
5ed150ed0abe: Pull complete # 分層下載 docker image 的核心 聯(lián)合文件系統(tǒng)
0fede58e17ac: Pull complete
994a6ddd6efe: Pull complete
028bda79779b: Pull complete
426fbe9e56a2: Pull complete
1a00e58dd193: Pull complete
4a4f64494005: Pull complete
fba8ab3534a7: Pull complete
2695938edf88: Pull complete
3754e2587bed: Pull complete
1b9f154543e7: Pull complete
Digest: sha256:147572c972192417add6f1cf65ea33edfd44086e461a3381601b53e1662f5d15
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest # 真實(shí)地址
?
# 等價(jià)于它
docker pull mysql
docker pull docker.io/library/mysql:latest
?
# 指定版本下載
[root@localhost ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
0056409b8e89: Pull complete
219bd535343d: Pull complete
f220ee65eb90: Pull complete
7bbb395b2290: Pull complete
645e487e5f0a: Pull complete
a9fa38d2e1fb: Pull complete
e1d9f4f7e8b4: Pull complete
e03fcfe5d90e: Pull complete
74c4d4272e30: Pull complete
e3a8ad6eeebe: Pull complete
919524a8718b: Pull complete
Digest: sha256:94176d0ad4ed85767fc0d74b8071387109a0390e7c1afd39788269c96d2dad74
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
docker rmi // 刪除鏡像
[root@localhost ~]# docker rmi -f 容器ID # 刪除指定的容器
[root@localhost ~]# docker rmi -f 容器ID 容器ID 容器ID 容器ID # 刪除多個(gè)的容器
[root@localhost ~]# docker rmi -f $(docker images -aq) # 刪除全部容器
容器命令
說(shuō)明:我們有了鏡像才可以創(chuàng)建容器 linux 下載一個(gè) centos 鏡像來(lái)測(cè)試學(xué)習(xí)
docker pull centos
docker run [可選參數(shù)] image // 新建容器并啟動(dòng)
# 參數(shù)說(shuō)明
--name="Name" # 容器名字 tomcat01 tomcat02 用來(lái)區(qū)分容器
-d # 后臺(tái)方式運(yùn)行
-it # 使用交互方式運(yùn)行 進(jìn)入容器查看內(nèi)容
-p # 指定容器的端口 -p 8080:8080 (小寫(xiě)p)
-p ip:主機(jī)端口:容器端口
-p 主機(jī)端口:容器端口 (常用)
-p 容器端口
-P # 隨機(jī)指定端口 (大寫(xiě)P)
?
?
# 測(cè)試
[root@localhost ~]# docker run -it centos /bin/bash # 啟動(dòng)并進(jìn)入容器
[root@6d1dad4f7880 /]# ls # 容器內(nèi)的centos 基礎(chǔ)版本 很多命令都是不完善的!
bin etc ? lib ? lost+found mnt proc run ? srv tmp var
dev home lib64 media ? ? ? opt root sbin sys usr
?
# 從容器中退回主機(jī)
[root@6d1dad4f7880 /]# exit
exit
[root@localhost ~]# ls
公共 視頻 文檔 音樂(lè) anaconda-ks.cfg
模板 圖片 下載 桌面 initial-setup-ks.cfg
列出所有運(yùn)行中的容器 // docker ps
# docker ps 命令
? # 列出當(dāng)前整個(gè)在運(yùn)行的容器
-a # 列出當(dāng)前整個(gè)在運(yùn)行的容器 + 歷史運(yùn)行過(guò)的容器
-n=? #列出最近創(chuàng)建的容器
-q # 只顯示容器的編號(hào)
?
[root@localhost ~]# docker ps
CONTAINER ID ? IMAGE ? ? COMMAND ? CREATED ? STATUS ? PORTS ? ? NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID ? IMAGE ? ? COMMAND ? ? ? CREATED ? ? ? ? STATUS ? ? ? ? ? ? ? ? ? ? ? ? PORTS ? ? NAMES
6d1dad4f7880 ? centos ? "/bin/bash" ? 3 minutes ago ? Exited (0) About a minute ago ? ? ? ? ? ? cranky_poitras
退出容器
exit # 直接容器停止并退出
Ctrl + P + Q # 容器不停止退出
刪除容器 // docker rm
docker rm 容器ID # 刪除指定容器 不能刪除正在運(yùn)行的容器
docker rm -f $(docker ps -aq) ? # 刪除所有的容器 強(qiáng)制刪除 可以刪除正在運(yùn)行的
docker ps -a -q|xargs dcoker rm # 刪除所有的容器
啟動(dòng)和停止容器的操作
docker start 容器ID # 啟動(dòng)容器
docker restart 容器ID # 重啟容器
docker stop 容器ID # 停止當(dāng)前正在運(yùn)行的容器
docker kill 容器ID # 強(qiáng)制停止當(dāng)前容器
常用其他命令
后臺(tái)啟動(dòng)容器 // docker run
# docker run -d 鏡像名!
[root@localhost ~]# docker run -d centos
# 問(wèn)題docker ps 發(fā)現(xiàn) centos 停止了
# 常見(jiàn)的坑 docker 容器使用后臺(tái)運(yùn)行 就必須要有一個(gè)前臺(tái)進(jìn)程 docker發(fā)現(xiàn)沒(méi)有應(yīng)用 就會(huì)自動(dòng)停止
# nginx 容器啟動(dòng)后 發(fā)現(xiàn)在家沒(méi)有提供服務(wù) 就會(huì)立刻停止 就是沒(méi)有程序了
查看日志 // docker logs
# docker logs -tf --tail 查看條數(shù) 容器 ? ? # 沒(méi)有日志
# docker logs -tf 容器 # 查看全部日志 ? # 沒(méi)有日志
?
# 自己寫(xiě)一段shell腳本
[root@localhost ~]# docker run -d centos /bin/sh -c "while true;do echo weilekaixin;sleep 1;done"
?
# [root@localhost ~]# docker ps
CONTAINER ID ? IMAGE ? ? COMMAND ? ? ? ? ? ? ? ? CREATED ? ? ? ? STATUS ? ? ? ? PORTS ? ? NAMES
2562525e297d ? centos ? "/bin/sh -c 'while t…" ? 28 seconds ago ? Up 26 seconds ? ? ? ? ? ? inspiring_davinci
# 顯示日志
-tf #顯示日志
-- tail number # 要顯示的日志條數(shù)
[root@localhost ~]# docker logs -tf --tail 10 2562525e297d
2022-10-19T03:43:02.965344920Z weilekaixin
2022-10-19T03:43:03.978534255Z weilekaixin
2022-10-19T03:43:04.983054247Z weilekaixin
2022-10-19T03:43:05.986780709Z weilekaixin
2022-10-19T03:43:06.989738379Z weilekaixin
2022-10-19T03:43:07.994183720Z weilekaixin
2022-10-19T03:43:08.998905522Z weilekaixin
2022-10-19T03:43:10.001559985Z weilekaixin
2022-10-19T03:43:11.006437202Z weilekaixin
2022-10-19T03:43:12.011787221Z weilekaixin
2022-10-19T03:43:13.015084744Z weilekaixin
2022-10-19T03:43:14.017707354Z weilekaixin
2022-10-19T03:43:15.020682705Z weilekaixin
2022-10-19T03:43:16.026036103Z weilekaixin
2022-10-19T03:43:17.031302231Z weilekaixin
?
查看 docker 容器內(nèi)部中的進(jìn)程信息 // docker top
[root@localhost ~]# docker top 2562525e297d
UID ? ? ? ? ? ? ? ? PID ? ? ? ? ? ? ? ? PPID ? ? ? ? ? ? ? C ? ? ?
柚子快報(bào)激活碼778899分享:容器 Docker 學(xué)習(xí)筆記
參考鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。