Docker的基本管理命令!!!学会docker的第一步
生活随笔
收集整理的這篇文章主要介紹了
Docker的基本管理命令!!!学会docker的第一步
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
深夜博文,干活滿滿
- Docker的安裝
- Docker鏡像的基礎(chǔ)命令
- 1.查看鏡像與版本信息
- 2.查找指定鏡像
- 3.下載鏡像 pull
- 4.獲取鏡像信息 inspect
- 5.給鏡像設(shè)置多標(biāo)簽 tag
- 6.導(dǎo)出與導(dǎo)入鏡像
- Docker容器的基礎(chǔ)命令
- 1.查看容器
- 2.創(chuàng)建容器
- 3.容器的啟動(dòng)
- 4.docker run
- 5.容器的刪除
- 6.進(jìn)入與退出容器
- 7.容器的導(dǎo)入導(dǎo)出
- 一些常識(shí)性問(wèn)題
- docker日志的查看
Docker的安裝
##這里我用的是阿里線網(wǎng)源,所以需要先搭建yum線網(wǎng)源倉(cāng)庫(kù)## [root@localhost ~]# hostnamectl set-hostname docker [root@localhost ~]# su[root@docker ~]# cd /etc/yum.repos.d/ [root@docker yum.repos.d]# ls backup local.repo [root@docker yum.repos.d]# ls backup local.repo [root@docker yum.repos.d]# rm -rf local.repo [root@docker yum.repos.d]# mv backup/* /etc/yum.repos.d/ [root@docker yum.repos.d]# ll total 28 drwxr-xr-x. 2 root root 6 Nov 10 06:38 backup -rw-r--r--. 1 root root 1664 Aug 30 2017 CentOS-Base.repo -rw-r--r--. 1 root root 1309 Aug 30 2017 CentOS-CR.repo -rw-r--r--. 1 root root 649 Aug 30 2017 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 314 Aug 30 2017 CentOS-fasttrack.repo -rw-r--r--. 1 root root 630 Aug 30 2017 CentOS-Media.repo -rw-r--r--. 1 root root 1331 Aug 30 2017 CentOS-Sources.repo -rw-r--r--. 1 root root 3830 Aug 30 2017 CentOS-Vault.repo[root@docker yum.repos.d]# yum clean all [root@docker yum.repos.d]# yum makecache ##添加阿里docker線網(wǎng)源##[root@docker yum.repos.d]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo##添加完成后會(huì)有一個(gè)docker-ce.repo## [root@docker yum.repos.d]# ls docker-ce.repo[root@docker yum.repos.d]# yum install -y docker-ce [root@docker yum.repos.d]# systemctl start docker.service [root@docker yum.repos.d]# systemctl enable docker.service- 鏡像加速
為什么做鏡像加速,不加速的話很卡很卡很卡!!!
- 網(wǎng)絡(luò)優(yōu)化
- 安裝完docker后,會(huì)自動(dòng)分配一塊網(wǎng)卡
- 它的功能就像安裝VM時(shí)自動(dòng)給你分配的VM1與VM8,用于宿主機(jī)的物理網(wǎng)卡(比如ens33),與docker內(nèi)部容器的網(wǎng)絡(luò)連通
Docker鏡像的基礎(chǔ)命令
1.查看鏡像與版本信息
##因?yàn)槲覜](méi)有鏡像所以無(wú)任何顯示## [root@docker docker]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE 鏡像名稱 鏡像標(biāo)簽 鏡像ID 什么時(shí)候創(chuàng)建的 鏡像大小 ##查看docker的版本信息## [root@docker docker]# docker version Client: Docker Engine - CommunityVersion: 19.03.13API version: 1.40Go version: go1.13.15Git commit: 4484c46d9dBuilt: Wed Sep 16 17:03:45 2020OS/Arch: linux/amd64Experimental: falseServer: Docker Engine - CommunityEngine:Version: 19.03.13 API version: 1.40 (minimum version 1.12)Go version: go1.13.15 ##go語(yǔ)言寫的,go語(yǔ)言會(huì)大火吧Git commit: 4484c46d9dBuilt: Wed Sep 16 17:02:21 2020OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.3.7GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175runc:Version: 1.0.0-rc10GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dddocker-init:Version: 0.18.0GitCommit: fec36832.查找指定鏡像
##全球的nginx鏡像,按照熱度排行### [root@docker docker]# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 13981 [OK] jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1906 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 791 [OK] linuxserver/nginx An Nginx container, brought to you by LinuxS… 128 jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 109 tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 103 [OK] bitnami/nginx Bitnami nginx Docker Image 90 [OK] alfg/nginx-rtmp NGINX, nginx-rtmp-module and FFmpeg from sou… 80 [OK] jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 66 [OK] nginxdemos/hello NGINX webserver that serves a simple page co… 63 [OK]3.下載鏡像 pull
##AUFS 若干層下載## [root@docker docker]# docker pull nginxUsing default tag: latest latest: Pulling from library/nginx bb79b6b2107f: Pull complete 5a9f1c0027a7: Pull complete b5c20b2b484f: Pull complete 166a2418f7e8: Pull complete 1966ea362d23: Pull complete Digest: sha256:aeade65e99e5d5e7ce162833636f692354c227ff438556e5f3ed0335b7cc2f1b Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest##查看鏡像## [root@docker docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest c39a868aad02 4 days ago 133MB ##你的下載文件存放信息位置## [root@docker overlay2]# vim /var/lib/docker/image/overlay2/repositories.json {"Repositories":{"nginx": {"nginx:latest":"sha256:c39a868aad02a383c7e490e0fc4a5b0217f667f2de764bc2755e315a5adf64a1" ,"nginx@sha256:aeade65e99e5d5e7ce162833636f692354c227ff438556e5f3ed0335b7cc2f1b":"sha256: c39a868aad02a383c7e490e0fc4a5b0217f667f2de764bc2755e315a5adf64a1"}}}4.獲取鏡像信息 inspect
##獲取鏡像信息## [root@docker overlay2]# docker inspect c39a868aad02 [{"Id": "sha256:c39a868aad02a383c7e490e0fc4a5b0217f667f2de764bc2755e315a5adf64a1","RepoTags": ["nginx:latest"],"RepoDigests": [//......."AttachStdin": false,"AttachStdout": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",//.......- 這里插個(gè)小知識(shí)點(diǎn),容器資源的格式幾乎都是 json , yaml 兩種
5.給鏡像設(shè)置多標(biāo)簽 tag
[root@docker overlay2]# docker tag nginx:latest nginx:111 [root@docker overlay2]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx 111 c39a868aad02 4 days ago 133MB nginx latest c39a868aad02 4 days ago 133MB- 這個(gè)相當(dāng)于起別名
- 注意:在鏡像有多標(biāo)簽時(shí),使用ID號(hào)刪除是刪不了的,只有剩下一個(gè)標(biāo)簽?zāi)悴拍軇h
6.導(dǎo)出與導(dǎo)入鏡像
##導(dǎo)出鏡像,-o表示導(dǎo)出+導(dǎo)出位置與名字+導(dǎo)出哪個(gè)鏡像## [root@docker opt]# docker save -o /opt/nginx nginx:latest [root@docker opt]# ll -h -rw------- 1 root root 131M Nov 10 07:42 nginx ##這個(gè)時(shí)候我們刪除原本鏡像,并導(dǎo)回####查看鏡像 [root@docker opt]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest c39a868aad02 4 days ago 133MB##刪除鏡像 [root@docker opt]# docker rmi nginx:latest Untagged: nginx:latest Untagged: nginx@sha256:aeade65e99e5d5e7ce162833636f692354c227ff438556e5f3ed0335b7cc2f1b Deleted: sha256:c39a868aad02a383c7e490e0fc4a5b0217f667f2de764bc2755e315a5adf64a1 Deleted: sha256:1af47386c12cb24b362bd785e71058ab675fbdcbda8e7a7ba0dd10c3cff75a2a Deleted: sha256:25ee02f9e42f8cdca7ca8bc522cb69ac4a86a55401818a13c7a01e52a81894fe Deleted: sha256:b1d2bc3292aa3d64794f99d2885d35b454993b4af24ad350a969d27925db7ebb Deleted: sha256:4216e20d59f9fc90bccdd14493452532806d4803a25514366de2a9c5560624d0 Deleted: sha256:d0fe97fa8b8cefdffcef1d62b65aba51a6c87b6679628a2b50fc6a7a579f764c##再次查看鏡像 [root@docker opt]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ##用load 導(dǎo)入鏡像 [root@docker opt]# docker load < /opt/nginx d0fe97fa8b8c: Loading layer 72.49MB/72.49MB 2baf69a23d7a: Loading layer 64.54MB/64.54MB 2f57e21e4365: Loading layer 3.072kB/3.072kB aee208b6ccfb: Loading layer 4.096kB/4.096kB 7b5417cae114: Loading layer 3.584kB/3.584kB Loaded image: nginx:latest##查看鏡像## [root@docker opt]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest c39a868aad02 4 days ago 133MBDocker容器的基礎(chǔ)命令
1.查看容器
[root@docker opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 容器的ID 使用的哪一個(gè)鏡像創(chuàng)建的 環(huán)境 創(chuàng)建的時(shí)間 容器的狀態(tài) 協(xié)議與端口- -a :查看所有容器狀態(tài),不加的話查看的是已經(jīng)運(yùn)行的容器
2.創(chuàng)建容器
- 容器基于鏡像創(chuàng)建,所以你需要先看有沒(méi)有鏡像
- -i : 讓容器的標(biāo)準(zhǔn)輸入保持打開
- -t : 讓docker分配一個(gè)偽終端
- /bin/bash : 需要的環(huán)境
3.容器的啟動(dòng)
[root@docker opt]# docker start bb38787230cf bb38787230cf [root@docker opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bb38787230cf nginx:latest "/docker-entrypoint.…" 2 minutes ago Up 6 seconds 80/tcp hopeful_maxwell- 注意:這里并不意味著你就可以對(duì)外提供服務(wù)了,你還需要做NAT映射,為了保護(hù)容器的安全性
4.docker run
- docker run : 一條命令執(zhí)行下載鏡像,創(chuàng)建容器,開啟容器
- docker run后面跟鏡像,有直接使用,沒(méi)有會(huì)直接去下載鏡像,-c 后面跟要在容器種操作的指令
5.容器的刪除
- 刪除容器前,要先關(guān)閉容器,否則刪除不了
6.進(jìn)入與退出容器
- 注意點(diǎn):你進(jìn)入的容器一定要是開啟狀態(tài),否則無(wú)法進(jìn)入
7.容器的導(dǎo)入導(dǎo)出
- 容器的導(dǎo)出(存儲(chǔ)到指定目錄+備注名)
這個(gè)時(shí)候我們?nèi)h除這個(gè)容器
##可以看到,正在運(yùn)行的容器是不能刪除的## [root@docker opt]# docker rm 546b2311fcff Error response from daemon: You cannot remove a running container 546b2311fcff7ec4c6fa46c70bcd1c8bb4007577a99ebade3559fd3396bc47a6. Stop the container before attempting removal or force remove##只有停止?fàn)顟B(tài)或運(yùn)行結(jié)束狀態(tài)的容器才可以刪除## [root@docker opt]# docker stop 546b2311fcff 546b2311fcff[root@docker opt]# docker rm 546b2311fcff 546b2311fcff- 容器的導(dǎo)入
- 注意點(diǎn):容器導(dǎo)入并不會(huì)創(chuàng)建容器,只會(huì)生成鏡像
一些常識(shí)性問(wèn)題
-
(1)正在運(yùn)行的或者停止的容器,是不可以直接刪除它的鏡像的,只要你docker ps -a 能查到,它的鏡像就刪不了
-
(2)正在運(yùn)行的容器不可以直接刪除
-
(3)有多標(biāo)簽的相同ID的鏡像,你不能通過(guò)刪除ID的方式刪除這個(gè)鏡像,除非你 rmi -f 強(qiáng)制刪除
docker日志的查看
查看實(shí)時(shí)日志,不看歷史:
docker -f --tail 1 container_id查看后100行的日志:
docker logs --tail 100 container_id查看30分鐘之內(nèi)日志
docker logs --since 30m container_id查看指定日期之后的日志 (2019-03-25T13:00:00 到現(xiàn)在的日志)
docker logs -t --since="2019-03-25T13:00:00" container_id查看指定時(shí)間后的日志,只顯示最后100行:
docker logs -f -t --since="2019-03-25" --tail=100 container_id查看指定時(shí)間段之內(nèi)的日志, (–until 需要docker API 1.35 之上才支持)
docker logs -t --since="2019-03-25T13:00:00" --until="2019-03-25T14:00:00" container_id對(duì)查詢到的日志內(nèi)容進(jìn)行過(guò)濾
docker logs -f --tail=100 container_id | grep 'xxx'總結(jié)
以上是生活随笔為你收集整理的Docker的基本管理命令!!!学会docker的第一步的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux redhat下载地址
- 下一篇: 从发不起工资到融资1650万,逸创创始人