Centos7 docker基础1-镜像
一、常用命令
安装
yum install -y docker
关闭服务与开启
systemctl stop docker.service
systemctl start docker.service
开机启动:
systemctl enable docker.service
拉取ubuntu镜像
docker pull ubuntu
查看本地镜像
docker images 或者 docker image ls
REPOSITORY(仓库) TAG(标签) IMAGE ID(镜像ID) CREATED(创建时间) SIZE(大小)
docker.io/ubuntu latest 4c108a37151f 3 weeks ago 64.2 MB
运行镜像上的bash程序
docker run -t -i ubuntu /bin/bash
PS:输入exit 退出bash程序
查看本地运行的容器
docker ps -a
[root@centos7 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(容器ID) (状态)
7b474e8ca411 ubuntu "/bin/bash" 33 minutes ago Exited (0) 32 minutes ago reverent_hamilton
删除容器:
格式:docker rm 容器ID
docker rm 7b474e8ca411
创建一个别名
docker image tag docker.io/ubuntu ruitest/ubuntu:v2
[root@centos7 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ruitest/ubuntu v2 4c108a37151f (相同的ID) 3 weeks ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 3 weeks ago 64.2 MB
查看镜像的详细信息
格式:docker image inspect 镜像ID
docker image inspect 4c108a37151f
查找镜像:
格式:docker search 关键字
docker search mysql
[root@centos7 ~]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
(星级:表示受欢迎程序)) (是否官方创建) (是否自动创建))
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 8388 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 2884 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 624 [OK]
docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 438 [OK]
docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 60 [OK]
docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 59
......略
删除tag
docker rmi ruitest/ubuntu:v2
注意:如果只有一个tag时,执行这条命令将会删除镜像
删除镜像
docker image rm 镜像ID
[root@centos7 ~]# docker image rm 4c108a37151f
Untagged: docker.io/ubuntu:latest
Untagged: docker.io/ubuntu@sha256:9b1702dcfe32c873a770a32cfd306dd7fc1c4fd134adfb783db68defc8894b3c
Deleted: sha256:4c108a37151f54439950335c409802e948883e00c93fdb751d206c9a9674c1f6
Deleted: sha256:7c1abf1dbbfd02a48330a7317ab45a6091d53e2e9cc062f0f3dbd2b7539947a6
Deleted: sha256:5a614dda4a54650168ee2cd30ce2e39576dad5c9a0d1907c02445687b4ea5090
Deleted: sha256:bd042113a73a5c9c6680990740446b7324afb39e243ade3d33bdaa9ffaf8d294
Deleted: sha256:ba9de9d8475e7f5e40086358a1353b3cc080994fc6d31e4272dd3acb69b0151e
二、创建镜像
- 创建镜像三种方式:
- 基于己有镜像的容器创建、
- 基于本地模板导入
- 基于Dockerfile创建
(1)、基于己有镜像的容器创建
docker pull ubuntu
docker images
docker run -ti ubuntu:latest /bin/bash
docker ps -a
使用commit命令提交为一个新的镜像:提交可以使用ID或名称
docker commit -m "Added a new file" -a "Docker Newbee" 0b2d5edef671 test
#-m: 注释
#-a:作者信息
# 0b2d5edef671 是容器的ID!不是镜像的ID
#test 是新镜像的名称
[root@centos7 ~]# docker images (这里的镜像ID不同)
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest 8e861c8118a3 11 seconds ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 4 weeks ago 64.2 MB
(2)、基于本地模板导入
导入模板:
cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 40446eeefc1a 8 seconds ago 215 MB
test latest 8e861c8118a3 22 minutes ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 4 weeks ago 64.2 MB
- B方式:存出和载入镜像
存出本地中ubuntu:14.04镜像文件为ubuntu_14.04.tar
docker save -o ubuntu_14.04.tar ubuntu:14.04
[root@centos7 ~]# ll -h ubuntu_14.04.tar
-rw------- 1 root root 216M 7月 19 14:33 ubuntu_14.04.tar
估计这个大小与docker内看到是一样的。
载入镜像:
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 40446eeefc1a 5 minutes ago 215 MB
test latest 8e861c8118a3 27 minutes ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 4 weeks ago 64.2 MB
[root@centos7 ~]# docker load < ubuntu_14.04.tar #试下在己有时,强行载入 会发生什么
Loaded image: ubuntu:14.04
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 40446eeefc1a 5 minutes ago 215 MB #没有增加也没有改变
test latest 8e861c8118a3 27 minutes ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 4 weeks ago 64.2 MB
#删除原来的ubuntu:14.04
[root@centos7 ~]# docker image rm 40446eeefc1a
#再次载入:
[root@centos7 ~]# docker load < ubuntu_14.04.tar #当本地不存在时,会出现一个载入的“进度条”
fd58c1324b91: Loading layer [==================================================>] 225.8 MB/225.8 MB
Loaded image: ubuntu:14.04
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 40446eeefc1a 7 minutes ago 215 MB #载入成功 镜像ID不变
test latest 8e861c8118a3 29 minutes ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 4 weeks ago 64.2 MB
[root@centos7 ~]#
(3)、基于Dockerfile创建
后面在补
三、上传镜像
在https://hub.docker.com 注册一个帐号。
#估计可以自己搭建下docker hub的本地库(如同git一样)
在机器登录你的帐号
[root@centos7 ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: rdocker8
Password:
Login Succeeded
[root@centos7 ~]#
#PS:登录成功后机器会生成用户的配置文件:/root/.docker/config.json
push时,要新建以你的帐号的 tag
[root@centos7 ~]# docker tag test:latest rdocker8/test:latest #我的帐号名是:rdocker8
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 40446eeefc1a 25 minutes ago 215 MB
rdocker8/test latest 8e861c8118a3 47 minutes ago 64.2 MB
test latest 8e861c8118a3 47 minutes ago 64.2 MB
docker.io/ubuntu latest 4c108a37151f 4 weeks ago 64.2 MB
[root@centos7 ~]# docker push rdocker8/test:latest
The push refers to a repository [docker.io/rdocker8/test]
f9e212164607: Pushed
75e70aa52609: Pushed
dda151859818: Pushed
fbd2732ad777: Pushed
ba9de9d8475e: Pushed
latest: digest: sha256:7fcb88d72723fc64ba3660d41cdced77c66a2d4060675e61db79af920f100ac3 size: 1359
[root@centos7 ~]#
查看自己的库:
教程参考于:http://www.bdkyr.com/
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:Centos7 docker基础1-镜像
本文作者:wangzhirui
发布时间:2019-08-22, 13:53:44
最后更新:2025-02-27, 02:03:56
原始链接:https://wangzhirui.com/2019/08/22/Centos7-docker基础1-镜像/转载请保留原文链接及作者。