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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker基本组成 和 基本命令

發(fā)布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker基本组成 和 基本命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

此篇為Docker筆記,文章可能存在疏忽,建議直接觀看原視頻。
視頻地址:https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0

Docker基本組成 和 基本命令

  • 鏡像 image:就好比一個模板,可以通過這個模板創(chuàng)建容器服務(wù)。例如:tomcat鏡像===>run===>tomcat容器(提供服務(wù)),通過這個鏡像可以創(chuàng)建多個容器(最終服務(wù)/項目運行就是在容器中);
  • 容器 container:Docker運用容器技術(shù),運行一個或一組應用;操作:啟動、停止、刪除;
  • 倉庫 repository:存放鏡像的地方;公有倉庫、私有倉庫;

測試安裝成功


使用幫助:https://docs.docker.com/engine/reference/commandline/cli/

常用命令

鏡像和容器的區(qū)別?

簡單點說,鏡像就類似操作系統(tǒng)光盤介質(zhì),容器相當于通過光盤安裝后的系統(tǒng)。通過光盤(鏡像),我們能在不同機器上部署系統(tǒng)(容器),系統(tǒng)內(nèi)的操作只會保留在當前的系統(tǒng)(容器)中,如果要升級系統(tǒng),需要使用到光盤,但是可能會導致操作系統(tǒng)的數(shù)據(jù)丟失

鏡像命令

docker images

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 4 days ago 13.3kB #只顯示image id $ docker images -q feb5d9fea6a5

docker search 查詢 (或者直接在dockerhub上查詢)

$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 11480 [OK] mariadb MariaDB Server is a high performing open sou… 4356 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Create… 849 [OK] # 可選項 --filter=STARS=4000 # 過濾 STARS大于4000的鏡像

docker pull 下載

# 默認下載最新版 [:tag]指定版本 docker pull mysql:5.7 $ docker pull mysql Using default tag: latest latest: Pulling from library/mysql 07aded7c29c6: Pull complete # 分層下載 docker image的核心 聯(lián)合文件系統(tǒng) f68b8cbd22de: Pull complete 30c1754a28c4: Pull complete 1b7cb4d6fe05: Pull complete 79a41dc56b9a: Pull complete 00a75e3842fb: Pull complete b36a6919c217: Pull complete 635b0b84d686: Pull complete 6d24c7242d02: Pull complete 5be6c5edf16f: Pull complete cb35eac1242c: Pull complete a573d4e1c407: Pull complete Digest: sha256:4fcf5df6c46c80db19675a5c067e737c1bc8b0e78e94e816a778ae2c6577213d # 簽名 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest # docker pull mysql 等價于 docker pull docker.io/library/mysql:latest$ docker pull mysql:5.7 5.7: Pulling from library/mysql 07aded7c29c6: Already exists # 已經(jīng)存在的資源不會重復下載 f68b8cbd22de: Already exists 30c1754a28c4: Already exists 1b7cb4d6fe05: Already exists 79a41dc56b9a: Already exists 00a75e3842fb: Already exists b36a6919c217: Already exists 5e11fe494f45: Pull complete 9c7de1f889a7: Pull complete cf6a13d05a76: Pull complete fc5aa81f393a: Pull complete Digest: sha256:360c7488c2b5d112804a74cd272d1070d264eef4812d9a9cc6b8ed68c3546189 Status: Downloaded newer image for mysql:5.7 docker.io/library/mysql:5.7

docker rmi 刪除

$ docker rmi -f 鏡像id 鏡像id $ docker rmi -f $(docker iamges -aq) # $()傳遞參數(shù),表示刪除全部鏡像
容器命令

有了鏡像才可以創(chuàng)建容器,下載一個centos鏡像來測試。

$ docker pull centos

新建容器并啟動

$ docker run [可選參數(shù)] imageId # 參數(shù)說明 --name="Name" 容器名稱 -d 后臺運行方式 -it 使用交互方式運行,進入容器查看內(nèi)容 -p 指定容器端口-p ip:主機端口:容器端口-p 主機端口:容器端口-p 容器端口容器端口 -P 隨機指定端口# 啟動并進入容器 -it 以交互的方式運行 [root@zcz /]$ docker run -it centos [root@46e93dbe3361 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@46e93dbe3361 /]# exit

列出運行中的容器

#docker ps-a # 正在運行的容器 + 曾經(jīng)運行的容器-n=? # 最近創(chuàng)建的容器-q # 顯示正在運行的容器id $ docker ps $docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46e93dbe3361 centos "/bin/bash" 4 minutes ago Exited (0) 2 minutes ago goofy_gagarin f1e91564c179 hello-world "/hello" 24 hours ago Exited (0) 24 hours ago distracted_chaplygin

退出容器

exit # 退出并停止容器 Ctrl + P + Q # 退出容器,但不停止

刪除容器

$ docker rm 容器id 容器id # 不能刪除運行中的容器,可以使用-f強制刪除 $ docker rm -f $(docker ps -aq) # 刪除所有容器 $ docker ps -a -q|xargs docker rm

啟動和停止容器

$ docker start 容器id $ docker restart 容器id $ docker stop 容器id $ docker kill 容器id # 強制停止
其他命令

后臺啟動

# 通過鏡像啟動容器 $ docker run -d centos # 常見的坑:后臺啟動之后,docker ps發(fā)現(xiàn)centos停止了,why? # 容器后臺運行,就必須要有一個前臺程序,docker發(fā)現(xiàn)沒有應用,就會停止。

查看CPU狀態(tài)

$ docker stats

查看日志

$ docker logs -ft --tail 10 容器id

查看容器中進程信息

$ docker top 容器id

查看鏡像元數(shù)據(jù)

$ docker inspect 鏡像id

進入當前正在運行的容器

# 通常容器都是以后臺方式運行,有時需要進入容器,修改一些配置 $ docker exec -it 容器id /bin/bash # 進入容器之后開啟一個新的終端 # 方式二 $ docker attach 容器id # 進入容器正在執(zhí)行的終端,不會啟動新進程

從容器拷貝文件到主機

$ docker cp 容器id:容器內(nèi)路徑 目的主機路徑 # 后期可以使用卷的技術(shù)實現(xiàn)一個同步 [root@0c219b26f861 /]# cd home/ [root@0c219b26f861 home]# ls [root@0c219b26f861 home]# touch hello.go [root@0c219b26f861 home]# ls hello.go [root@0c219b26f861 home]# exit exit root@zcz:/home$ docker cp 0c219b26f861:/home/hello.go /home/ root@zcz:/home$ ls hello.go zhuchangzhen

小結(jié)

總結(jié)

以上是生活随笔為你收集整理的Docker基本组成 和 基本命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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