docker 在ubuntu16/centos6.9中的安裝及常用操作

docker 在ubuntu16/centos6.9中的安裝及常用操作

1. 鏡像-容器

2. ubuntu16安裝

  • 更新ubuntu的apt源索引 ‘sudo apt-get update‘

  • 安裝包允許apt通過HTTPS使用倉(cāng)庫(kù)

    • sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      software-properties-common
      
  • 添加Docker官方GPG key
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  • 設(shè)置Docker穩(wěn)定版?zhèn)}庫(kù)
    sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

  • 添加倉(cāng)庫(kù)后,更新apt源索引
    sudo apt-get update

  • 安裝最新版Docker CE(社區(qū)版)
    sudo apt-get install docker-ce

  • 檢查Docker CE是否安裝正確
    sudo docker run hello-world

  • 更改權(quán)限,不用每次都寫sudo
    sudo usermod -a -G docker $USER ?

  • 2.1. ubuntu下操作docker

     # 啟動(dòng)docker
     sudo service docker start
     # 停止docker
     sudo service docker stop
     # 重啟docker
     sudo service docker restart
     # 列出鏡像
     docker image ls
     # 拉取鏡像
     docker image pull library/hello-world
     docker image pull hello-world
     # 刪除鏡像
     docker image rm 鏡像名或鏡像id
     # 創(chuàng)建容器
     docker run [option] 鏡像名 [向啟動(dòng)容器中傳入的命令]
     # 創(chuàng)建交互式容器
     docker run -it --name=myubuntu ubuntu /bin/bash
     ?!?chuàng)建守護(hù)式容器
     docker run -dit --name=myubuntu2 ubuntu
     ?!∵M(jìn)入已運(yùn)行的容器
     docker exec -it 容器名或容器id 進(jìn)入后執(zhí)行的第一個(gè)命令
     docker exec -it myubuntu2 /bin/bash
     #查看容器
     docker container ls #列出本機(jī)正在運(yùn)行的容器
     docker container ls --all?。!×谐霰緳C(jī)所有容器,包括已經(jīng)終止運(yùn)行的
     # 停止容器
     docker container stop ubuntu2
     # 停止一個(gè)已經(jīng)在運(yùn)行的容器
     docker container stop 容器名或容器id
     # 啟動(dòng)一個(gè)已經(jīng)停止的容器
     docker container start 容器名或容器id
     # kill掉一個(gè)已經(jīng)在運(yùn)行的容器
     docker container kill 容器名或容器id
     # 刪除容器
     docker container rm 容器名或容器id
    
  • 2.2. 創(chuàng)建容器參數(shù)

    1. 常用可選參數(shù)說明:
      • -i 表示以“交互模式”運(yùn)行容器
      • -t 表示容器啟動(dòng)后會(huì)進(jìn)入其命令行。加入這兩個(gè)參數(shù)后,容器創(chuàng)建就能登錄進(jìn)去。即 分配一個(gè)偽終端。
      • --name 為創(chuàng)建的容器命名
      • -v 表示目錄映射關(guān)系(前者是宿主機(jī)目錄,后者是映射到宿主機(jī)上的目錄,即 宿主機(jī)目錄:容器中目錄),可以使 用多個(gè)-v 做多個(gè)目錄或文件映射。注意:最好做目錄映射,在宿主機(jī)上做修改,然后 共享到容器上。
      • -d 在run后面加上-d參數(shù),則會(huì)創(chuàng)建一個(gè)守護(hù)式容器在后臺(tái)運(yùn)行(這樣創(chuàng)建容器后不 會(huì)自動(dòng)登錄容器,如果只加-i -t 兩個(gè)參數(shù),創(chuàng)建后就會(huì)自動(dòng)進(jìn)去容器)。
      • -p 表示端口映射,前者是宿主機(jī)端口,后者是容器內(nèi)的映射端口??梢允褂枚鄠€(gè)-p 做多個(gè)端口映射
      • -e 為容器設(shè)置環(huán)境變量
      • --network=host 表示將主機(jī)的網(wǎng)絡(luò)環(huán)境映射到容器中,容器的網(wǎng)絡(luò)與主機(jī)相同
  • 2.3. 將容器保存為鏡像
    docker commit 容器名 鏡像名

  • 2.4. 鏡像備份與遷移

    save命令將鏡像打包成文件
    docker save -o 保存的文件名 鏡像名
    docker save -o ./ubuntu.tar ubuntu
    
  • 2.5. 本地鏡像加載

    可以通過load方法,將鏡像加載到本地
    docker load -i ./ubuntu.tar
    ```   ?
    
  • 2.6. docker image list
    docker image ls

  • 2.7. 刪除容器
    docker rm container_id

3. centos6.9上安裝docker

yum install -y epel-release
yum search docker
yum install -y docker-io.x86_64
  • 3.3 docker鏡像操作
# 啟動(dòng)docker
sudo service docker start
#停止docker
sudo service docker stop
# 重啟docker
sudo service docker restart
#拉取docker鏡像
docker pull image_name
docker pull centos:latest
#拉取docker鏡像指定版本
docker pull centos:6.9
#查找Docker Hub上的nginx鏡像
docker search nginx
#刪除鏡像
 docker rmi image_id/iamge_name
#查看宿主機(jī)上的鏡像,Docker鏡像保存在/var/lib/docker目錄下:
docker images
  • 3.4 docker容器操作
#創(chuàng)建容器
docker run -i -t <imageID> /bin/bash(沒有/bin/bash會(huì)立刻退出)
#守護(hù)進(jìn)程創(chuàng)建容器,容器會(huì)在后臺(tái)運(yùn)行
docker run -itd --name=install_py2.7 657531b0552b /bin/bash
# 進(jìn)入后臺(tái)正在運(yùn)行的容器
docker attach container_name/container_id
#啟動(dòng)容器,并掛載本地目錄文件(-v),冒號(hào)前為本地目錄,冒號(hào)后為容器目錄
docker run -it -v /home/work/Downloads:/home  image_name/image_id  /bin/bash
#多窗口啟動(dòng)容器, 分配一個(gè)偽終端.
docker exec -it container_id /bin/bash
#查看當(dāng)前有哪些容器正在運(yùn)行
docker ps
# 查看所有容器
docker ps -a
# 重命名
docker rename old容器名  new容器名

# 退出容器 exit
# 啟動(dòng)、停止、重啟容器命令:
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id

# 刪除容器的命令:
docker rm container_name/container_id
# 刪除所有停止的容器:
docker rm $(docker ps -a -q)
  • 3.5 docker容器備份與恢復(fù)
#備份
docker commit -p 30b8f18f20b4 container-backup
docker save -o ~/container-backup.tar container-backup

#恢復(fù)到鏡像中
docker load -i ~/container-backup.tar
  • docker是最小化配置的鏡像,以centos為例,安裝
    yum install -y net-tools
    yum install -y wget
    以便后續(xù)操作
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容