在 linux 中 docker容器安裝使用

docker 工作流程介紹

在這裏插入圖片描述
正如上圖所示,當我們想運行一個容器的時候,docker會:
1、拉取鏡像,若本地已經存在該鏡像,則不用到網上去拉取
2、創建新的容器
3、分配union文件系統並且掛着一個可讀寫的層,任何修改容器的操作都會被記錄在這個讀寫層上,你可以保存這些修改成新的鏡像,也可以選擇不保存,那麼下次運行改鏡像的時候所有修改操作都會被消除
4、分配網絡\橋接接口,創建一個允許容器與本地主機通信的網絡接口
5、設置ip地址,從池中尋找一個可用的ip地址附加到容器上,換句話說,localhost並不能訪問到容器
6、運行你指定的程序
7、捕獲並且提供應用輸出,包括輸入、輸出、報錯信息

一、配置安裝 docker 源

[root@docker ~]# cat /etc/yum.repos.d/docker.repo 
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

二、安裝 docker

[root@docker ~]# yum install -y docker-engine
[root@docker ~]# service docker start
[root@docker ~]# systemctl enable docker
[root@docker ~]# docker version  (查看是否安裝成功)

三、docker 的基本命令操作

  attach      運行正在運行的容器
  build       從Dockerfile構建一個映像
  commit      根據容器的更改創建新映像
  export      將容器的文件系統導出爲 tar 歸檔文件
  images      查看鏡像
  import      從 tar 導入內容以創建文件系統映像
  kill        殺死一個或多個正在運行的容器
  load        導入 tar 鏡像文件
  logs        獲取容器日誌
  port        列出端口映射或容器的特定映射
  ps          查看正在運行的容器
  pull        從註冊表中提取鏡像(下載)
  push        上傳本地的鏡像
  rename      重命名一個容器
  restart     重啓容器
  rm          刪除一個或多個容器
  rmi         刪除一個或多個鏡像
  run         在新容器中運行命令
  save        將一個或多個鏡像保存到tar存檔
  search      在Docker Hub中搜索鏡像
  start       啓動容器
  stats       實時監控容器的狀態信息
  stop        S停容器
  tag         創建一個引用SOURCE_IMAGE的標記TARGET_IMAGE
  top         顯示容器的運行進程
  unpause     恢復一個或多個容器中的所有進程
  update      更新一個或多個容器的配置
  version     顯示Docker版本信息
  wait        阻塞,直到一個或多個容器停止,然後打印它們的出口代碼

1、查看 Docker 版本信息 (docker version images_name)

在這裏插入圖片描述

2、查找 Docker 鏡像 (docker search images_name)

在這裏插入圖片描述

3、下載 Docker 鏡像 (docker pull images_name)

在這裏插入圖片描述

4、刪除 Docker 鏡像(docker rmi images_name)

在這裏插入圖片描述

5、Docker 鏡像的歷史版本(docker history images_name)

在這裏插入圖片描述

6、上傳 Docker 的鏡像(docker push images_name)

在這裏插入圖片描述

7、進入(docker attach name)

在這裏插入圖片描述

8、導出保存鏡像(docker export images_number > name.tar)

在這裏插入圖片描述

9、導入鏡像快照(cat name.tar | docker import - name:version number)

在這裏插入圖片描述

10、創建一個新的鏡像標記(docker tag IMAGEID name:version number)

在這裏插入圖片描述

四、創建 docker 容器

1、下載鏡像: docker pull centos (或 docker.io/centos)

查看鏡像: docker images
[root@docker ~]# docker images
REPOSITORY          TAG        IMAGE ID           CREATED           SIZE
docker.io/mysql     latest    2dd01afbe8df      2 weeks ago        485 MB
docker.io/centos    latest    75835a67d134      4 weeks ago        200 MB

2、創建docker:docker run -itp 80:8080 --name centos docker.io/centos /bin/bash
(創建名字爲 centos 的 docker容器,將本機的 80 端口映射到容器中爲 8080,並放在後臺運行)

-i, --interactive       保持STDIN開放,即使沒有連接
-t, --tty               分配一個pseudo-TTY
-v, --volume list       綁定安裝卷
-p, --publish list      將容器的端口發佈到主機
-P, --publish-all       將所有公開的端口發佈到隨機端口
-d, --detach            在後臺運行容器並打印容器ID

五、數據持久化保存

1、創建:掛載卷-v
把物理機的 /data 目錄掛載到容器 cen2 的 /tpm/data 目錄下(可避免容器的數據丟失)

[root@docker ~]# docker run -it --name cen2 -v /data/:/tmp/data docker.io/centos /bin/bash
[root@f79a9974767d ~]# cd /mnt/data/
[root@f79a9974767d ~]# touch {1..5}.mp4  (ctrl+p+q 退出容器,並未停止容器)
[root@docker ~]# ls /data
 1.mp4  2.mp4  3.mp4  4.mp4  5.mp4

2、創建:容器卷–volumes-from
在多個容器下,數據同步,把 cen2 的卷掛載到 cen3 下(數據統一化)

[root@docker data]# docker run -ti --name cen3 --volumes-from cen2 centos /bin/bash
[root@405362b535ec /]# cd /tmp/data/
[root@405362b535ec data]# ls
 1.mp4  2.mp4  3.mp4  4.mp4  5.mp4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章