“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 | |
<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>docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000--restart=always --name registry registry:latest<nowiki> |
− | + | 查看安装的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]] | ||
− | + | 查看容器 | |
<nowiki>docker ps</nowiki> | <nowiki>docker ps</nowiki> | ||
第31行: | 第143行: | ||
[[文件:图片3 |600px]] | [[文件:图片3 |600px]] | ||
− | + | 编辑信息 | |
<nowiki>vi /etc/docker/daemon.json</nowiki> | <nowiki>vi /etc/docker/daemon.json</nowiki> | ||
第38行: | 第150行: | ||
[[文件:图片4 |600px]] | [[文件:图片4 |600px]] | ||
− | + | 重启服务 | |
<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 (导入所有节点)
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/
查看容器
docker ps
编辑信息
vi /etc/docker/daemon.json
添加本机ip
重启服务
Systemctl daemon-reload/nowiki> <nowiki>Systemctl restart docker