Docker 镜像、容器操作--小试牛刀
生活随笔
收集整理的這篇文章主要介紹了
Docker 镜像、容器操作--小试牛刀
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 一、鏡像操作
- 1.1 搜索鏡像
- 1.2 下載鏡像
- 1.3 鏡像打標(biāo)簽
- 1.4 查看鏡像信息
- 1.5 刪除鏡像
- 1.6 運行鏡像
- 1.7 鏡像的導(dǎo)出、導(dǎo)入
- 二、容器操作
- 2.1 查看所有容器,包括不是啟動狀態(tài)的容器
- 2.2 查看所有容器的id
- 2.3 使容器開啟并持續(xù)性運行
- 2.4 容器的開啟、關(guān)閉
- 2.5 容器持續(xù)后臺運行
- 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 //如果下載時不指定標(biāo)簽,會默認(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 //錯誤信息說:沖突:無法刪除822b7ec2aaf2(必須強制)-映像在多個存儲庫中被引用 //如果想要刪除該鏡像,使用docker rmi 鏡像名稱:標(biāo)簽名 的方式一個一個的刪除 [root@docker ~]# [root@docker ~]# docker rmi nginx:lnmp Untagged: nginx:lnmp [root@docker ~]# docker rmi nginx:latest Untagged: nginx:latest //直到?jīng)]有引用了,才會刪除 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 運行鏡像
[root@docker ~]# docker run nginx //一次性運行鏡像,在執(zhí)行run操作的時候,如果沒有該鏡像,會先下載,在start該鏡像 Unable to find image 'nginx:latest' locally //在本地沒有發(fā)現(xiàn)nginx的鏡像 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-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)出鏡像 第一個nginx:latest 表示的導(dǎo)出鏡像以后指定的鏡像文件名 //導(dǎo)出鏡像 第二個nginx:latest 表示的導(dǎo)出哪個鏡像 [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 查看所有容器,包括不是啟動狀態(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ù)性運行
①:創(chuàng)建容器
docker create -it nginx:latest /bin/bash
-i:讓容器的標(biāo)準(zhǔn)輸入保持打開
-t:分配一個偽終端
-d:后臺守護進(jìn)程的方式運行
②:啟動容器
docker start 容器id
2.4 容器的開啟、關(guān)閉
docker start 容器id docker stop 容器id2.5 容器持續(xù)后臺運行
docker run -d centos:7 /usr/bin/bash -c “while true;do echo hello; done”
-d 表示后臺守護進(jìn)程的方式運行
-c “while true;do echo hello; done” 做了一個死循環(huán),模擬服務(wù)持續(xù)運行
2.6 進(jìn)入容器
①docker run
②docker exec (容器必須是運行狀態(tài))
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)簽名稱
總結(jié)
以上是生活随笔為你收集整理的Docker 镜像、容器操作--小试牛刀的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 那些相见恨晚的 IDEA插件
- 下一篇: 怎么修改tomcat端口