“Docker镜像、仓库与容器”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(Docker 镜像的使用)
第1行: 第1行:
 +
==当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载==
 +
 +
===构建镜像===
 +
 +
==创建Dockerfile文件夹==
 +
 +
touch Dockerfile
 +
 +
==创建新的镜像==
 +
 +
vi Dockerfile
 +
 +
进入编辑添加下方信息
 +
FROM    centos:latest
 +
 +
MAINTAINER      Fisher "fisher@sudops.com"
 +
 +
RUN    /bin/echo 'root:本机密码' |chpasswd
 +
 +
RUN    useradd runoob
 +
 +
RUN    /bin/echo 'runoob:本机密码' |chpasswd
 +
 +
RUN    /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
 +
 +
EXPOSE  22
 +
 +
EXPOSE  80
 +
 +
CMD    /usr/sbin/sshd -D
 +
 +
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。第一条FROM,指定使用哪个镜像源
 +
RUN 指令告诉docker 在镜像内执行命令,安装了什么
 +
 +
==查看Dockerfile==
 +
 +
cat Dockerfile
 +
 +
==通过docker build构建一个镜像==
 +
 +
docker build -t runoob/centos:latest
 +
 +
 +
==查看已经创建的镜像列表==
 +
 +
docker images
 +
 +
 +
 +
 +
 +
 +
 +
===列出镜像列表===
 +
<nowiki>docker images</nowiki>
 +
 +
REPOSITORY:表示镜像的仓库源
 +
 +
TAG:镜像的标签
 +
 +
IMAGE ID:镜像ID
 +
 +
CREATED:镜像创建时间
 +
 +
SIZE:镜像大小
 +
 +
===运行容器===
 +
 +
  docker run -t -i latest /bin/bash 
 +
 +
===参数说明===
 +
 +
-i: 交互式操作。
 +
-t: 终端。
 +
latest 这是指用最高版本的镜像为基础来启动容器。
 +
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
 +
 +
===获取一个新的镜像===
 +
 +
docker pull +下载版本号
 +
 +
===查找镜像===
 +
 +
docker search httpd
 +
 +
参数说明:
 +
 +
NAME: 镜像仓库源的名称
 +
 +
DESCRIPTION: 镜像的描述
 +
 +
OFFICIAL: 是否 docker 官方发布
 +
 +
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
 +
 +
AUTOMATED: 自动构建。
 +
 +
===拖取镜像===
 +
 +
docker pull httpd
 +
 +
===下载完成后,使用下方命令使用该镜像===
 +
 +
docker run httpd
 +
 +
===删除镜像===
 +
 +
docker rmi 镜像名称
 +
 +
 +
 +
 
==Docker仓库的使用==
 
==Docker仓库的使用==
  
===构建私有仓库===
+
(一)构建私有仓库
  
  
====运行Registry====
+
运行Registry
 
  <nowiki>cs /opt</nowiki> (进入opt目录)
 
  <nowiki>cs /opt</nowiki> (进入opt目录)
  
第11行: 第123行:
 
[[文件:图片2 |600px]]
 
[[文件:图片2 |600px]]
  
  <nowiki>docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000--restart=always --name registry registry:latest</nowiki>
+
  <nowiki>docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000--restart=always --name registry registry:latest<nowiki>
  
====查看安装的docker====
+
查看安装的docker
  
docker images
+
1.<nowiki>docker images</nowiki>
  
ll
+
2. <nowiki>ll</nowiki>
  
cat image.sh
+
3.<nowiki>cat image.sh</nowiki>
  
ll images/
+
4.<nowiki>ll images/</nowiki>
  
 
[[文件:图片1 |600px]]
 
[[文件:图片1 |600px]]
  
3.查看容器
+
查看容器
  
 
  <nowiki>docker ps</nowiki>
 
  <nowiki>docker ps</nowiki>
第31行: 第143行:
 
[[文件:图片3 |600px]]
 
[[文件:图片3 |600px]]
  
4.编辑信息
+
编辑信息
 
  <nowiki>vi /etc/docker/daemon.json</nowiki>
 
  <nowiki>vi /etc/docker/daemon.json</nowiki>
  
第38行: 第150行:
 
[[文件:图片4 |600px]]
 
[[文件:图片4 |600px]]
  
5.重启服务
+
重启服务
 
  <nowiki>Systemctl daemon-reload/nowiki>
 
  <nowiki>Systemctl daemon-reload/nowiki>
  
 
  <nowiki>Systemctl restart docker</nowiki>
 
  <nowiki>Systemctl restart docker</nowiki>

2020年10月12日 (一) 09:32的版本

==当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载==

构建镜像

创建Dockerfile文件夹

touch Dockerfile

创建新的镜像

vi Dockerfile

进入编辑添加下方信息

FROM    centos:latest
MAINTAINER      Fisher "fisher@sudops.com"
RUN     /bin/echo 'root:本机密码' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:本机密码' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。第一条FROM,指定使用哪个镜像源 RUN 指令告诉docker 在镜像内执行命令,安装了什么

查看Dockerfile

cat Dockerfile

通过docker build构建一个镜像

docker build -t runoob/centos:latest


查看已经创建的镜像列表

docker images




列出镜像列表

docker images
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

运行容器

  docker run -t -i latest /bin/bash  

参数说明

-i: 交互式操作。 -t: 终端。 latest 这是指用最高版本的镜像为基础来启动容器。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash

获取一个新的镜像

docker pull +下载版本号

查找镜像

docker search httpd

参数说明:

NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。

拖取镜像

docker pull httpd

下载完成后,使用下方命令使用该镜像

docker run httpd

删除镜像

docker rmi 镜像名称



Docker仓库的使用

(一)构建私有仓库


运行Registry

cs /opt (进入opt目录)
./image.sh (导入所有节点)

600px

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000--restart=always --name registry registry:latest<nowiki>

查看安装的docker

 1.<nowiki>docker images
2. ll
3.cat image.sh
4.ll images/

600px

查看容器

docker ps

600px

编辑信息

vi /etc/docker/daemon.json

添加本机ip

600px

重启服务

Systemctl daemon-reload/nowiki>

 <nowiki>Systemctl restart docker