1 镜像列表
# 没有镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
2 Docker仓库
地址:
https://hub.docker.com

Docker仓库
3 下载镜像(以MySQL为例)
3.1 在仓库中搜索mysql

搜索mysql

搜索结果

版本列表
3.2 下载mysql
# docker搜索
[root@localhost ~]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 8999 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3176 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 669 [OK]
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
STARS: 类似 Github 里面的 star,示点赞、喜欢的意思。
AUTOMATED: 自动构建
# 5.7 为搜索结果中的版本号
[root@localhost ~]# docker pull mysql:5.7
3.3 将仓库改为国内仓库
# 将docker仓库地址改为国内地址
[root@localhost ~]# vi /etc/default/docker
DOCKER_OPTS="国内仓库地址"
# 重启Docker
[root@localhost ~]# service docker restart
# 查看Docker相关进程,可查看是否修改成功
[root@localhost ~]# ps -ef | grep docker
4 删除镜像
# 通过 软件名+版本号删除 删除镜像(还可以通过IMAGE ID删除)
[root@localhost ~]# docker rmi mysql:5.7
# 删除所有镜像(谨慎使用)
[root@localhost ~]# docker rmi $(docker images -q)
# 删除所有tomcat镜像(谨慎使用)
[root@localhost ~]# docker rmi $(docker images -q tomcat)
# 镜像被删除
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
REPOSITORY : 镜像所属仓库名
TAG : 镜像标签
IMAGE ID : 镜像唯一ID
CREATED : 镜像建立时间
SIZE : 镜像大小
# 查看所有镜像,<none>表示中间层镜像
[root@localhost ~]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
compose_docker-compose-test latest 95e24ac2edb8 4 days ago 521MB
compose_docker-demo latest 95e24ac2edb8 4 days ago 521MB
<none> <none> caaf805ab027 4 days ago 521MB
<none> <none> 5c40b64f84b7 4 days ago 521MB
<none> <none> ebb04705313b 4 days ago 505MB
docker-boot-2 latest 74332039ad49 4 days ago 521MB
docker-boot latest 74332039ad49 4 days ago 521MB
<none> <none> cddb3c20c4c3 4 days ago 521MB
<none> <none> 15cc5f40453a 4 days ago 505MB
# 只查看镜像id
[root@localhost ~]# docker images -q
95e24ac2edb8
95e24ac2edb8
74332039ad49
74332039ad49
83df82df73f0
ed94f55483b8
9b188f5fb1e6
db39680b63ac
f7bb5701a33c
f8146facf376
5e35e350aded
5 导出镜像
[root@localhost gp6]# docker save mysql:5.7 > /opt/gp6/mysql5.7.tar.gz
6 导入镜像
[root@localhost load]# docker load < /opt/gp6/mysql5.7.tar.gz
7 构建镜像
docker build,使用Dockerfile从零开始来创建一个新的镜像;Dockerfile包含一组如何构建Docker的指令
[root@localhost gp6]# vi Dockerfile
FROM centos:7
MAINTAINER Fisher "GP6"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd runoob
RUN /bin/echo 'runoob:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
# -t :指定要创建的目标镜像名 . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
[root@localhost gp6]# docker build -t gp6-centos-7 .
Sending build context to Docker daemon 2.56kB
Step 1/9 : FROM centos:7
---> 5e35e350aded
Step 2/9 : MAINTAINER Fisher "GP6"
---> Running in 72a0622fde2a
Removing intermediate container 72a0622fde2a
---> 2d13c6775df5
Step 3/9 : RUN /bin/echo 'root:123456' |chpasswd
---> Running in da96e9e731f4
Removing intermediate container da96e9e731f4
---> 7ca59d0adb2a
Step 4/9 : RUN useradd runoob
---> Running in 85be57a59ef0
Removing intermediate container 85be57a59ef0
---> b5c42fe47a4e
Step 5/9 : RUN /bin/echo 'runoob:123456' |chpasswd
---> Running in b6a5ab1f3068
Removing intermediate container b6a5ab1f3068
---> 59b0355e4528
Step 6/9 : RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
---> Running in 542853faeeb3
Removing intermediate container 542853faeeb3
---> e6528c937787
Step 7/9 : EXPOSE 22
---> Running in 39d193cd6d07
Removing intermediate container 39d193cd6d07
---> 4234e2ac5c22
Step 8/9 : EXPOSE 80
---> Running in f3ae3d6077bf
Removing intermediate container f3ae3d6077bf
---> 0e1312e1a156
Step 9/9 : CMD /usr/sbin/sshd -D
---> Running in dec9f31ba757
Removing intermediate container dec9f31ba757
---> 54b38235f70d
Successfully built 54b38235f70d
Successfully tagged gp6-centos-7:latest
8 设置镜像标签
# docker tag 镜像ID(54b38235f70d) 新的标签名(gp6-centos-7-tag)。
[root@localhost gp6]# docker tag 54b38235f70d gp6-centos-7-tag
# ID为54b38235f70d的镜像多一个标签
[root@localhost gp6]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gp6-centos-7-tag latest 54b38235f70d 3 minutes ago 203MB
gp6-centos-7 latest 54b38235f70d 3 minutes ago 203MB
jdk1.8 latest 83df82df73f0 20 hours ago 393MB
gp6-nginx-image latest 7b228a928b93 21 hours ago 126MB
tomcat 8-jdk8-openjdk ed94f55483b8 3 days ago 507MB
redis latest 9b188f5fb1e6 5 days ago 98.2MB
nginx latest f7bb5701a33c 10 days ago 126MB
centos 7 5e35e350aded 8 weeks ago 203MB
9 查看端口绑定情况
[root@localhost gp6]# docker run -di --name gp6-mysql-5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
[root@localhost gp6]# docker port gp6-mysql-5.7 3306
0.0.0.0:3306
网友评论