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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Docker 镜像、容器操作--小试牛刀

發(fā)布時(shí)間:2024/3/24 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker 镜像、容器操作--小试牛刀 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、鏡像操作
    • 1.1 搜索鏡像
    • 1.2 下載鏡像
    • 1.3 鏡像打標(biāo)簽
    • 1.4 查看鏡像信息
    • 1.5 刪除鏡像
    • 1.6 運(yùn)行鏡像
    • 1.7 鏡像的導(dǎo)出、導(dǎo)入
  • 二、容器操作
    • 2.1 查看所有容器,包括不是啟動(dòng)狀態(tài)的容器
    • 2.2 查看所有容器的id
    • 2.3 使容器開啟并持續(xù)性運(yùn)行
    • 2.4 容器的開啟、關(guān)閉
    • 2.5 容器持續(xù)后臺(tái)運(yùn)行
    • 2.6 進(jìn)入容器
    • 2.7 容器導(dǎo)出、導(dǎo)入

一、鏡像操作

1.1 搜索鏡像

docker search 鏡像名稱 docker search 鏡像名稱:標(biāo)簽名稱 [root@docker ~]# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 15404 [OK] jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 2063 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 816 [OK] jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 240 linuxserver/nginx An Nginx container, brought to you by LinuxS… 152 tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 140 [OK] jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 135 [OK] alfg/nginx-rtmp NGINX, nginx-rtmp-module and FFmpeg from sou… 106 [OK] jasonrivers/nginx-rtmp Docker images to host RTMP streams using NGI… 92 [OK] nginxdemos/hello NGINX webserver that serves a simple page co… 72 [OK] privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 56 [OK] nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo… 55 nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 47 staticfloat/nginx-certbot Opinionated setup for automatic TLS certs lo… 24 [OK] nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGIN… 19 schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 19 [OK] nginxproxy/nginx-proxy Automated Nginx reverse proxy for docker con… 19 centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 15 centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 13 raulr/nginx-wordpress Nginx front-end for the official wordpress:f… 13 [OK] flashspys/nginx-static Super Lightweight Nginx Image 10 [OK] mailu/nginx Mailu nginx frontend 9 [OK] sophos/nginx-vts-exporter Simple server that scrapes Nginx vts stats a… 7 [OK] ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 2 [OK] wodby/nginx Generic nginx 1 [OK] [root@docker ~]#

1.2 下載鏡像

docker pull 鏡像名稱 [root@docker ~]# docker pull nginx Using default tag: latest //如果下載時(shí)不指定標(biāo)簽,會(huì)默認(rèn)下載最新的鏡像,latest表示最新 latest: Pulling from library/nginx a330b6cecb98: Pull complete 5ef80e6f29b5: Pull complete f699b0db74e3: Pull complete 0f701a34c55e: Pull complete 3229dce7b89c: Pull complete ddb78cb2d047: Pull complete Digest: sha256:c442ff5a3d9f6dc92dd8aee388ece42d965e002805e3edaaff34e79d8ee6d0a4 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest [root@docker ~]#

1.3 鏡像打標(biāo)簽

docker tag 鏡像名稱:舊標(biāo)簽名 鏡像名稱:新標(biāo)簽名 [root@docker ~]# docker images //查看鏡像列表 REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 822b7ec2aaf2 54 minutes ago 133MB [root@docker ~]# docker tag nginx:latest nginx:lnmp [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 822b7ec2aaf2 55 minutes ago 133MB nginx lnmp 822b7ec2aaf2 55 minutes ago 133MB [root@docker ~]#

1.4 查看鏡像信息

docker inspect 鏡像id [root@docker ~]# docker inspect 822b7ec2aaf2 [{"Id": "sha256:822b7ec2aaf2122b8f80f9c7f45ca62ea3379bf33af4e042b67aafbf6eac1941","RepoTags": ["nginx:latest"],"RepoDigests": [],"Parent": "","Comment": "","Created": "2021-09-03T07:40:16.355730864Z","Container": "367d32086ac12447d36e75c9b7acbe1b5156a34a91370b9200e68783be75506c","ContainerConfig": {"Hostname": "367d32086ac1","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"ExposedPorts": {"80/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.21.1","NJS_VERSION=0.6.1","PKG_RELEASE=1~buster"],"Cmd": ["/bin/sh","-c","#(nop) ","CMD [\"nginx\" \"-g\" \"daemon off;\"]"], ......省略部分內(nèi)容 [root@docker ~]#

1.5 刪除鏡像

docker rmi 鏡像ID 或者 鏡像名稱:標(biāo)簽名 [root@docker ~]# docker rmi 822b7ec2aaf2 Error response from daemon: conflict: unable to delete 822b7ec2aaf2 (must be forced) - image is referenced in multiple repositories //錯(cuò)誤信息說:沖突:無法刪除822b7ec2aaf2(必須強(qiáng)制)-映像在多個(gè)存儲(chǔ)庫(kù)中被引用 //如果想要?jiǎng)h除該鏡像,使用docker rmi 鏡像名稱:標(biāo)簽名 的方式一個(gè)一個(gè)的刪除 [root@docker ~]# [root@docker ~]# docker rmi nginx:lnmp Untagged: nginx:lnmp [root@docker ~]# docker rmi nginx:latest Untagged: nginx:latest //直到?jīng)]有引用了,才會(huì)刪除 Untagged: nginx@sha256:c442ff5a3d9f6dc92dd8aee388ece42d965e002805e3edaaff34e79d8ee6d0a4 Deleted: sha256:822b7ec2aaf2122b8f80f9c7f45ca62ea3379bf33af4e042b67aafbf6eac1941 Deleted: sha256:47dec9bde9e483e6265a6f52ab1e726724927e2e9d2ac358fdf58fbfcd6cf418 Deleted: sha256:7920a27f48f198550d59f64681b99441bbc3d2ce4778a855ce1ef9bafc96ae69 Deleted: sha256:a3c5a94eb1ea071c73dcea1969e0b71beea445d3b9d0735eaf6715d8e351434c Deleted: sha256:e73eb58ed241e67a7a2c8589dde85eb72811eac1eb4cf3b586e40d2b9cc9d0c1 Deleted: sha256:b5d976dc9b0fa380affe1f6a17df18f02ab7debec2d35a0407fb863338591ed7 Deleted: sha256:d000633a56813933cb0ac5ee3246cf7a4c0205db6290018a169d7cb096581046 [root@docker ~]#

1.6 運(yùn)行鏡像

[root@docker ~]# docker run nginx //一次性運(yùn)行鏡像,在執(zhí)行run操作的時(shí)候,如果沒有該鏡像,會(huì)先下載,在start該鏡像 Unable to find image 'nginx:latest' locally //在本地沒有發(fā)現(xiàn)nginx的鏡像 latest: Pulling from library/nginx //沒有找到鏡像,就去公共倉(cāng)庫(kù)下載鏡像 a330b6cecb98: Pull complete 5ef80e6f29b5: Pull complete f699b0db74e3: Pull complete 0f701a34c55e: Pull complete 3229dce7b89c: Pull complete ddb78cb2d047: Pull complete Digest: sha256:c442ff5a3d9f6dc92dd8aee388ece42d965e002805e3edaaff34e79d8ee6d0a4 Status: Downloaded newer image for nginx:latest //下載完成 /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2021/09/03 08:52:50 [notice] 1#1: using the "epoll" event method 2021/09/03 08:52:50 [notice] 1#1: nginx/1.21.1 2021/09/03 08:52:50 [notice] 1#1: built by gcc 8.3.0 (Debian 8.3.0-6) 2021/09/03 08:52:50 [notice] 1#1: OS: Linux 3.10.0-957.el7.x86_64 2021/09/03 08:52:50 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 ......省略部分內(nèi)容 2021/09/03 08:52:57 [notice] 1#1: exit //這里執(zhí)行的是 CTRL+C [root@docker ~]#

1.7 鏡像的導(dǎo)出、導(dǎo)入

[root@docker ~]# docker save -o nginx:latest nginx:latest //導(dǎo)出鏡像 //導(dǎo)出鏡像 第一個(gè)nginx:latest 表示的導(dǎo)出鏡像以后指定的鏡像文件名 //導(dǎo)出鏡像 第二個(gè)nginx:latest 表示的導(dǎo)出哪個(gè)鏡像 [root@docker ~]# ls anaconda-ks.cfg initial-setup-ks.cfg nginx:latest 公共 模板 視頻 圖片 文檔 下載 音樂 桌面 [root@docker ~]# [root@docker ~]# docker rmi 822b7ec2aaf2 //刪除鏡像 Untagged: nginx:latest Untagged: nginx@sha256:c442ff5a3d9f6dc92dd8aee388ece42d965e002805e3edaaff34e79d8ee6d0a4 Deleted: sha256:822b7ec2aaf2122b8f80f9c7f45ca62ea3379bf33af4e042b67aafbf6eac1941 Deleted: sha256:47dec9bde9e483e6265a6f52ab1e726724927e2e9d2ac358fdf58fbfcd6cf418 Deleted: sha256:7920a27f48f198550d59f64681b99441bbc3d2ce4778a855ce1ef9bafc96ae69 Deleted: sha256:a3c5a94eb1ea071c73dcea1969e0b71beea445d3b9d0735eaf6715d8e351434c Deleted: sha256:e73eb58ed241e67a7a2c8589dde85eb72811eac1eb4cf3b586e40d2b9cc9d0c1 Deleted: sha256:b5d976dc9b0fa380affe1f6a17df18f02ab7debec2d35a0407fb863338591ed7 Deleted: sha256:d000633a56813933cb0ac5ee3246cf7a4c0205db6290018a169d7cb096581046 [root@docker ~]# docker load < nginx\:latest 導(dǎo)入剛剛導(dǎo)出的鏡像 d000633a5681: Loading layer [==================================================>] 72.53MB/72.53MB 63b5f2c0d071: Loading layer [==================================================>] 64.86MB/64.86MB 875b5b50454b: Loading layer [==================================================>] 3.072kB/3.072kB ed94af62a494: Loading layer [==================================================>] 4.096kB/4.096kB 8e58314e4a4f: Loading layer [==================================================>] 3.584kB/3.584kB d47e4d19ddec: Loading layer [==================================================>] 7.168kB/7.168kB Loaded image: nginx:latest [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 822b7ec2aaf2 20 hours ago 133MB [root@docker ~]#

二、容器操作

2.1 查看所有容器,包括不是啟動(dòng)狀態(tài)的容器

[root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a4c42a696a49 nginx "/docker-entrypoint.…" 4 minutes ago Exited (0) 4 minutes ago naughty_swanson [root@docker ~]#

2.2 查看所有容器的id

[root@docker ~]# docker ps -aq a4c42a696a49 [root@docker ~]#

2.3 使容器開啟并持續(xù)性運(yùn)行

①:創(chuàng)建容器
docker create -it nginx:latest /bin/bash
-i:讓容器的標(biāo)準(zhǔn)輸入保持打開
-t:分配一個(gè)偽終端
-d:后臺(tái)守護(hù)進(jìn)程的方式運(yùn)行
②:啟動(dòng)容器
docker start 容器id

[root@docker ~]# docker create -it nginx:latest /bin/bash 9ba3b6ffd7bf4e2587f415a203f6064432efc331335b0c9519278789a473dff6 [root@docker ~]# docker ps -a //容器id為:9ba3b6ffd7bf 狀態(tài)為:已創(chuàng)建 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9ba3b6ffd7bf nginx:latest "/docker-entrypoint.…" 9 seconds ago Created romantic_banzai a4c42a696a49 nginx "/docker-entrypoint.…" 6 minutes ago Exited (0) 5 minutes ago romantic_stonebraker [root@docker ~]# [root@docker ~]# docker start 9ba3b6ffd7bf 9ba3b6ffd7bf [root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9ba3b6ffd7bf nginx:latest "/docker-entrypoint.…" 12 minutes ago Up About a minute 80/tcp romantic_banzai a4c42a696a49 nginx "/docker-entrypoint.…" 18 minutes ago Exited (0) 17 minutes ago romantic_stonebraker [root@docker ~]# 有的時(shí)候持續(xù)性運(yùn)行浪費(fèi)資源,那么一次性執(zhí)行如下操作 /usr/bin/bash 表示指定鏡像運(yùn)行的環(huán)境 -c 表示指定執(zhí)行什么命令 [root@docker ~]# docker run centos:7 /usr/bin/bash -c ls / anaconda-post.log bin dev etc home lib ......省略部分內(nèi)容 [root@docker ~]# docker ps -a //可以看出運(yùn)行centos:7鏡像,執(zhí)行了ls操作之后就退出了 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f84d97ae586 centos:7 "/usr/bin/bash -c ls…" 32 seconds ago Exited (0) 31 seconds ago affectionate_bassi 9ba3b6ffd7bf nginx:latest "/docker-entrypoint.…" 15 minutes ago Up 5 minutes 80/tcp romantic_banzai a4c42a696a49 nginx "/docker-entrypoint.…" 21 minutes ago Exited (0) 21 minutes ago romantic_stonebraker [root@docker ~]#

2.4 容器的開啟、關(guān)閉

docker start 容器id docker stop 容器id

2.5 容器持續(xù)后臺(tái)運(yùn)行

docker run -d centos:7 /usr/bin/bash -c “while true;do echo hello; done”
-d 表示后臺(tái)守護(hù)進(jìn)程的方式運(yùn)行
-c “while true;do echo hello; done” 做了一個(gè)死循環(huán),模擬服務(wù)持續(xù)運(yùn)行

[root@docker ~]# docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello; done" c589495b247136e38713f72e81745bdddcd65df7e08311e22215da8354b5f38f [root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c589495b2471 centos:7 "/usr/bin/bash -c 'w…" 32 seconds ago Up 32 seconds kind_wilbur 0f84d97ae586 centos:7 "/usr/bin/bash -c ls…" 13 minutes ago Exited (0) 13 minutes ago affectionate_bassi 9ba3b6ffd7bf nginx:latest "/docker-entrypoint.…" 28 minutes ago Up 17 minutes 80/tcp romantic_banzai a4c42a696a49 nginx "/docker-entrypoint.…" 34 minutes ago Exited (0) 34 minutes ago romantic_stonebraker [root@docker ~]#

2.6 進(jìn)入容器

①docker run
②docker exec (容器必須是運(yùn)行狀態(tài))

[root@docker ~]# docker run -it centos:7 /bin/bash [root@795bf77b9a5c /]# ls anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@795bf77b9a5c /]# exit //這里使用的是 ctrl + d 組合快捷鍵退出容器 [root@docker ~]# [root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 795bf77b9a5c centos:7 "/bin/bash" 2 minutes ago Exited (127) About a minute ago happy_wozniak c589495b2471 centos:7 "/usr/bin/bash -c 'w…" 9 minutes ago Up 9 minutes kind_wilbur 0f84d97ae586 centos:7 "/usr/bin/bash -c ls…" 22 minutes ago Exited (0) 22 minutes ago affectionate_bassi 9ba3b6ffd7bf nginx:latest "/docker-entrypoint.…" 37 minutes ago Up 26 minutes 80/tcp romantic_banzai a4c42a696a49 nginx "/docker-entrypoint.…" 43 minutes ago Exited (0) 42 minutes ago romantic_stonebraker [root@docker ~]# docker exec -it c589495b2471 /bin/bash [root@c589495b2471 /]# ls anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@c589495b2471 /]# exit //這里是手動(dòng)輸入 exit 退出容器 exit [root@docker ~]#

2.7 容器導(dǎo)出、導(dǎo)入

導(dǎo)出:docker export 容器id > 指定導(dǎo)出的容器文件名
導(dǎo)入(兩種方式):
① docker import 導(dǎo)出的文件名 指定鏡像名稱:指定標(biāo)簽名稱
② cat 導(dǎo)出的容器文件名 | docker import - 指定鏡像名稱:指定標(biāo)簽名稱

[root@docker ~]# docker export c589495b2471 > centos7_01 [root@docker ~]# ls anaconda-ks.cfg centos7_01 initial-setup-ks.cfg 公共 模板 視頻 圖片 文檔 下載 音樂 桌面 [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 822b7ec2aaf2 22 hours ago 133MB centos 7 8652b9f0cb4c 9 months ago 204MB [root@docker ~]# docker rm -f `docker ps -aq` //強(qiáng)制刪除所有容器,這里為了演示容器的導(dǎo)出導(dǎo)入所以這樣做,生產(chǎn)環(huán)境杜絕使用 795bf77b9a5c c589495b2471 0f84d97ae586 9ba3b6ffd7bf a4c42a696a49 [root@docker ~]# docker rmi 8652b9f0cb4c //刪除centos:7的鏡像文件 Untagged: centos:7 Untagged: centos@sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e Deleted: sha256:8652b9f0cb4c0599575e5a003f5906876e10c1ceb2ab9fe1786712dac14a50cf Deleted: sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02 [root@docker ~]# docker import centos7_01 centos:7 //導(dǎo)入容器并生成鏡像文件,centos:7表示指定的鏡像文件名:標(biāo)簽名 sha256:45836fbbddb2c92905b73daf22b56b8b3b3c855d8e2dd4f080937ad47c164b70 [root@docker ~]# docker images //查看是否導(dǎo)入成功 REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 45836fbbddb2 8 seconds ago 204MB nginx latest 822b7ec2aaf2 22 hours ago 133MB [root@docker ~]# cat centos7_01 | docker import - centos:latest //另一種導(dǎo)入容器的方式 sha256:dda2c24c44187be74f4d690ad1833a58e3cc643c24a8d1288ccfd74b618a3647 [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest dda2c24c4418 5 seconds ago 204MB centos 7 45836fbbddb2 4 minutes ago 204MB nginx latest 822b7ec2aaf2 22 hours ago 133MB [root@docker ~]#

總結(jié)

以上是生活随笔為你收集整理的Docker 镜像、容器操作--小试牛刀的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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