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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Docker的简单使用

發布時間:2025/3/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker的简单使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker

介紹

Docker的英文本意是“搬運工”,Docker搬運的是集裝箱(Container)可以成為容器,我們可以把WEB應用以及依賴庫打包進一個可移植的容器里傳播,解決了應用部署的平臺兼容性問題,同時她也是一種輕量級的虛擬化技術可以做到秒級啟動一個容器(類似小虛擬機,區別啟動快、可以傳播);

鏡像是docker 創建、啟動一個容器的文件系統,這個文件系統包含依賴包、命令工具、APP等;

安裝和開啟服務

yum install epel-release -y # 如果沒有擴展源,需要先安裝擴展源 yum install docker # 安裝,由于Docker要求Linux內核版本必須在要在3.10,所以centos6.X版本需要 yum install docker-io systemctl start docker.service # 開啟服務 docker info # 查看docker信息

鏡像

修改鏡像源

默認源連不上,修改鏡像下載源,加入以下內容

vim etc/docker/daemon.json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }

更多國內源如下:

# Docker 官方中國區 https://registry.docker-cn.com # 網易 http://hub-mirror.c.163.com # ustc https://docker.mirrors.ustc.edu.cn

注意:docker版本在1.12以下需要找到docker配置文件
目錄位置為/etc/default/docker,如果沒有,那么就在/etc/sysconfig/docker,如果還是沒有,那么就去/etc/default/下創建一個docker文件吧。

搜索鏡像文件

docker search centos # 搜索centos

拉取鏡像

docker pull docker.io/centos # 拉取 鏡像名

刪除鏡像

docker rmi <鏡像名|鏡像ID>

容器

創建容器

進入交互式容器

docker run -i -t docker.io/centos /bin/bash # -it可以連寫
  • docker run 創建容器
  • -t 指定鏡像
  • -i 交互式

進入交互式容器的/bin/bash后,可以輸入常用的操作命令,比如ls

指定容器名

docker run --name <容器名> -it <鏡像名> /bin/bash # --name 指定容器名

端口映射

# 使用 -p 8000:80 創建端口映射(映射docker的80端口到物理機8000) # docker run -d -p 8000:80 -p 22:22 同時映射多個端口,比如22給ssh服務用,80給Django用,即凡是需要提供給外部訪問的,都需要作端口映射。 docker run --name ssh_server -it -p 8000:80 <鏡像名> /bin/bash

注意:端口映射只能在docker run時操作

通過exit可以退出容器。

查看容器

docker ps # 正在運行的容器 docker ps -a # 所有的容器 docker ps -l # 最近一次的容器 docker ps -q # 最近一次的容器的id

查看容器詳細信息

docker inspect <容器ID|容器名>

結果類似于json數據,可以通過| grep來過濾需要的信息

啟動和關閉容器

docker start <容器名|容器ID> docker stop <容器名|容器ID>

進入容器

進入容器前需要先啟動

# 這種方式可以進入正在運行的容器,但是exit退出時容器也就停止運行了 docker attach <容器名|容器ID> # 另一種方式進入容器,退出時容器不終止運行 docker exec -it test1 /bin/bash # /bin/bash必須加

刪除容器

# 刪除一個容器 docker rm <容器名|容器ID> # 強制刪除一個正在運行的容器 docker rm -f <容器名|容器ID> # 刪除全部容器(使用 -f 可以強制刪除正在運行的容器) docker rm `docker ps -aq`

說明:飄號內的內容會作為命令來執行,并將結果交給rm命令

容器打包成鏡像

docker save -o <導出的文件名.zip> <鏡像名> # 如果要指定路徑,必須先創建路徑中的文件夾# 比如: mkdir img docker save -o /img/vimenv.zip vimenv.img

導入鏡像

docker load < <鏡像文件名.zip> # < 記住別漏了重定向符號
  • 導入之后使用docker images查看鏡像
  • 使用導入的鏡像docker run來創建容器
  • 新的容器內含以前打包好的項目的數據,直接運行

docker中使用systemctl命令

centos7中通過systemctl啟動服務,但是在docker中無法使用。解決方案:

1.啟動參數參數用/usr/sbin/init

docker run --name ssh_server -p 8000:22 -p 80:80 -it vimenv.img /usr/sbin/init

這時會報錯:Operation not permitted,不管它

2新開一個終端,docker ps查看剛剛啟動的那個容器,docker stop 容器ID結束它

3重新啟動容器 docker start

4運行容器

docker exec -it <容器ID|容器名> /bin/bash

5yum安裝openssh-server等需要的服務,然后就可以通過systemctl啟動服務了

通過端口映射訪問docker

  • exec進入容器,passwd命令修改密碼
  • Xshell或WinSCP軟件連接宿主機ip,端口是創建容器時映射的端口,輸入密碼即可。

總結

以上是生活随笔為你收集整理的Docker的简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。