docker(三) 鏡像和容器經常使用命令

1、鏡像操做

1.搜索鏡像

能夠直接在Docker Hub 直接搜索鏡像,固然也可使用命令來搜索。 html

docker search 名稱nginx

docker search tomcat

 

2.拉取鏡像

docker pull 鏡像名redis

#拉取redis3.0
docker pull redis:3.0

 

3.查看鏡像列表

Docker鏡像保存在/var/lib/dockerdocker

docker images
docker images -a
docker images -q(顯示id)

 

4.刪除鏡像

docker rmi 鏡像名tomcat

#刪除hello-world鏡像
docker rmi hello-world

#強制刪除有容器依賴的鏡像
docker rmi -f hello-world

2、容器操做

1.建立容器

①docker createbash

能夠先經過docker create建立容器,再經過docker start啓動服務器

②docker run網絡

建立並啓動容器(運行時容器)app

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

[OPTIONS]:阿里雲

  • -d: 後臺運行容器,並返回容器ID;  
  • --name="xx": 爲容器指定一個名稱;
  • -i:以交互模式運行容器,一般與 -t 同時使用
  • -t:爲容器分配虛擬終端,容許發信號給容器。tty
  • -P: 隨機端口映射;
  • -p: 指定端口映射,有如下四種格式

例子:

# 基於最新版redis鏡像建立容器,命名爲myredis,將主機的16379端口映射到容器內的6379端口。
docker create --name myredis -p 16379:6379 redis:latest

 

2.列出容器

docker ps [OPTIONS]

[OPTIONS]:

  • -a:顯示全部容器,包括未運行的
  • -l:顯示最近建立的容器
  • -n:顯示最近建立的n各容器

3.啓動/中止/重啓容器

docker start 容器ID/容器名
docker stop  容器ID/容器名
docker restart 容器ID/容器名

 

4.刪除容器

#刪除容器
docker rm 容器ID/容器名

#強制刪除運行中的容器
docker rm -f 容器ID/容器名
  • -f :強制刪除運行中的容器
  • -l :移除容器間的網絡鏈接,而非容器自己
  • -v :刪除與容器關聯的卷

 

5.在運行的容器中執行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

例子:

#進入到redis容器中,並開啓一個交互模式的終端
docker exec -it redis /bin/bash

#在容器mynginx中以交互模式執行容器內/root/runoob.sh腳本
docker exec -it mynginx /bin/sh /root/runoob.sh

使用ctrl + d退出容器

 

6.獲取容器的日誌

docker logs 容器

Options:

  • -f, 跟蹤日誌輸出
  • -t, 顯示時間戳
docker logs -f redis

 

3、上傳鏡像到阿里雲鏡像倉庫

能夠將本地鏡像上傳到Docker Hub上,也能夠上傳到其它服務器,例如阿里雲鏡像倉庫。上傳到hub上太慢了,這裏選擇上傳到阿里雲鏡像倉庫中。

能夠參考阿里雲官網的教程:上傳本地鏡像

1.先要有阿里雲帳號,登陸容器鏡像服務控制檯

2.設置阿里雲 Docker registry 登陸密碼

若是是首次訪問,系統會提示您進行初始化設置。設置您的登陸密碼,並單擊肯定。

3.建立命名空間。

4.建立鏡像倉庫。

      

 

接下來能夠進入管理,查看具體的操做指南

 

5.執行Docker登陸命令,並輸入密碼。

sudo docker login --username=阿里雲用戶名 registry.cn-beijing.aliyuncs.com

6.重命名鏡像。

  • 若是您本地的鏡像是經過構建生成的,構建過程當中須要指定 tag 信息。
$ sudo docker tag [鏡像id] registry.cn-beijing.aliyuncs.com/命名空間/倉庫:[鏡像版本號]
  • 若是您本地的鏡像是從其它倉庫下載的,已有了 registry 名、命令空間、倉庫名和 tag 名稱,上傳到阿里雲 registry 以前須要執行 Docker tag 命令進行修改。
[root@localhost application]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              4ab4c602aa5e        2 months ago        1.84kB
[root@localhost application]# sudo docker tag 4ab4c602aa5e registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0

7.上傳鏡像到阿里雲 Docker registry。

sudo docker push registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0

 

8. 從Registry中拉取鏡像

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:hello-world-1.0

 

更多詳情請參考阿里雲官網的教程:上傳本地鏡像

相關文章
相關標籤/搜索