日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Docker的基本管理命令!!!学会docker的第一步

發(fā)布時(shí)間:2023/12/18 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)中,每個(gè)人都有自己的加速網(wǎng)址,可以去阿里云控制臺(tái)查看## [root@docker yum.repos.d]# cd ~ [root@docker ~]# mkdir -p /etc/docker [root@docker ~]# tee /etc/docker/daemon.json <<-'EOF' > { > "registry-mirrors": ["https://ga12ck6j.mirror.aliyuncs.com"] > } > EOF {"registry-mirrors": ["https://ga1ock6j.mirror.aliyuncs.com"] } [root@docker ~]# cd /etc/docker/ [root@docker docker]# ls daemon.json key.json [root@docker docker]# systemctl daemon-reload [root@docker docker]# systemctl restart docker
  • 網(wǎng)絡(luò)優(yōu)化
[root@docker docker]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1[root@docker docker]# sysctl -p net.ipv4.ip_forward = 1[root@docker docker]# systemctl restart network [root@docker docker]# systemctl restart docker
  • 安裝完docker后,會(huì)自動(dòng)分配一塊網(wǎng)卡
[root@docker docker]# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255ether 02:42:f0:05:36:99 txqueuelen 0 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  • 它的功能就像安裝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: fec3683

2.查找指定鏡像

##全球的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)簽## [root@docker overlay2]# docker rmi c39a868aad02 Error response from daemon: conflict: unable to delete c39a868aad02 (must be forced) - image is referenced in multiple repositories[root@docker overlay2]# docker rmi nginx:111 Untagged: nginx:111
  • 注意:在鏡像有多標(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 133MB

Docker容器的基礎(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)有鏡像
##可以看到這個(gè)時(shí)候的狀態(tài)只是創(chuàng)建,你還需要去啟動(dòng)## [root@docker opt]# docker create -it nginx:latest /bin/bash bb38787230cf40cb8c833f751667e129b97d6aeaf04983f8535fbb78d205f207[root@docker opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bb38787230cf nginx:latest "/docker-entrypoint.…" 9 seconds ago Created hopeful_maxwell
  • -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 后面跟要在容器種操作的指令
[root@docker opt]# docker run centos:7 /bin/bash -c ls /Unable to find image 'centos:7' locally 7: Pulling from library/centos 75f829a71a1c: Pull complete Digest: sha256:19a79828ca2e505eaee0ff38c2f3fd9901f4826737295157cc5212b7a372cd2b Status: Downloaded newer image for centos:7 anaconda-post.log bin etc home //......省略[root@docker opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 955ec5648d68 centos:7 "/bin/bash -c ls /" 2 minutes ago Exited (0) 2 minutes ago awesome_hodgkin bb38787230cf nginx:latest "/docker-entrypoint.…" 16 minutes ago Up 14 minutes 80/tcp hopeful_maxwell[root@docker opt]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest c39a868aad02 4 days ago 133MB centos 7 7e6257c9f8d8 3 months ago 203MB

5.容器的刪除

  • 刪除容器前,要先關(guān)閉容器,否則刪除不了
[root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 955ec5648d68 centos:7 "/bin/bash -c ls /" 11 hours ago Exited (0) 11 hours ago awesome_hodgkin bb38787230cf nginx:latest "/docker-entrypoint.…" 11 hours ago Up 3 seconds 80/tcp hopeful_maxwell ##先關(guān)閉,再刪除## [root@docker ~]# docker stop bb38787230cf bb38787230cf[root@docker ~]# docker rm bb38787230cf bb38787230cf[root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 955ec5648d68 centos:7 "/bin/bash -c ls /" 11 hours ago Exited (0) 11 hours ago awesome_hodgkin

6.進(jìn)入與退出容器

  • 注意點(diǎn):你進(jìn)入的容器一定要是開啟狀態(tài),否則無(wú)法進(jìn)入
##首先開啟一個(gè)容器## [root@docker ~]# docker create -it nginx:latest /bin/bash 546b2311fcff7ec4c6fa46c70bcd1c8bb4007577a99ebade3559fd3396bc47a6[root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 546b2311fcff nginx:latest "/docker-entrypoint.…" 6 seconds ago Created suspicious_edison 955ec5648d68 centos:7 "/bin/bash -c ls /" 11 hours ago Exited (0) 11 hours ago awesome_hodgkin[root@docker ~]# docker start 546b2311fcff 546b2311fcff[root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 546b2311fcff nginx:latest "/docker-entrypoint.…" 18 seconds ago Up 1 second 80/tcp suspicious_edison 955ec5648d68 centos:7 "/bin/bash -c ls /" 11 hours ago Exited (0) 11 hours ago awesome_hodgkin ##進(jìn)入nginx容器## [root@docker ~]# docker exec -it 546b2311fcff /bin/bash root@546b2311fcff:/###退出容器 root@546b2311fcff:/# exit exit

7.容器的導(dǎo)入導(dǎo)出

  • 容器的導(dǎo)出(存儲(chǔ)到指定目錄+備注名)
[root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 546b2311fcff nginx:latest "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 80/tcp suspicious_edison 955ec5648d68 centos:7 "/bin/bash -c ls /" 11 hours ago Exited (0) 11 hours ago awesome_hodgkin[root@docker ~]# docker export 546b2311fcff > /opt/nginx [root@docker ~]# cd /opt/ [root@docker opt]# ll total 134112 drwx--x--x 4 root root 28 Nov 10 06:43 containerd -rw------- 1 root root 135339008 Nov 10 19:12 nginx

這個(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ì)生成鏡像
##這里用到cat與管道符號(hào)“|”將看到的內(nèi)容遞給dicker引入,并給個(gè)名字叫nginx:web#[root@docker opt]# cat /opt/nginx | docker import - nginx:web sha256:d79ea958e6d3fa2d687bce6cd68bfed285600c6a52d31bb5f2c45400bc1cf06e##可以看到并沒(méi)有生成容器## [root@docker opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 955ec5648d68 centos:7 "/bin/bash -c ls /" 11 hours ago Exited (0) 11 hours ago awesome_hodgkin##查看生成了鏡像## [root@docker opt]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx web d79ea958e6d3 3 minutes ago 131MB nginx latest c39a868aad02 4 days ago 133MB centos 7 7e6257c9f8d8 3 months ago 203MB

一些常識(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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。