首页 > 代码库 > Docker Image操作
Docker Image操作
List Images
列出本地所有Docker image
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos centos6 25c5298b1a36 2 weeks ago 215.8 MB
可以看到,REPOSITORY是image来源库,此处是centos
TAG:每个image有自己的tag,此处是centos6
使用该image启动Docker container的时候,名字为:centos:centos6
IMAGE ID:每个image有自己独立的ID
下载新的image
查找新的image
众多Docker的使用者会创建自己的image,有部分image就会上传到Docker Hub中,我们可以直接在Docker Hub中查找合适的image。
也可以使用docker search
命令查找image
# docker search centos | more NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 685 [OK] tianon/centos CentOS 5 and 6, created using rinse instea... 29 ansible/centos7-ansible Ansible on Centos7 22 [OK] ariya/centos6-teamcity-server TeamCity Server 8.1 on CentOS 6 8 [OK] tutum/centos Centos image with SSH access. For the root... 8 [OK] berngp/docker-zabbix Runs Zabbix Server and Zabbix Web UI on a ... 8 [OK] saltstack/centos-6-minimal 8 [OK] blalor/centos Bare-bones base CentOS 6.5 image 7 [OK] centos/freeipa FreeIPA in Docker on CentOS 7 steeef/graphite-centos CentOS 6.x with Graphite and Carbon via ng... 6 [OK] dockerfiles/centos-lamp 6 [OK] gluster/gluster GlusterFS 3.5 - CentOS 6.5 Docker repo 6 [OK] ariya/centos6-teamcity-agent Build agent for TeamCity 8.1 5 [OK] tutum/centos-6.4 DEPRECATED. Use tutum/centos:6.4 instead. ... 5 [OK] jdeathe/centos-ssh-apache-php CentOS-6 6.5 x86_64 / Apache / PHP / PHP m... 5 [OK] cern/centos-wlcg-wn CentosOS 6 image with pre-installed softwa... 4
创建新的image
更新现有的image
交互模式启动centos:centos6,安装mysql
# docker run -t -i centos:centos6 /bin/bash bash-4.1# bash-4.1# yum install -y mysql mysql-serve
完成后,exit
退出交互模式
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2e9de4d9c350 centos:centos6 /bin/bash 2 minutes ago Exited (0) 7 seconds ago mad_colden
可以看到刚刚关掉的container ID
# docker commit -m="install mysql" -a="Hongtu Zang" 2e9de4d9c350 centos6:hongtu 5f3bca7952cac8900e08b5fac11cdd1a4941803edbb5442593a171fe574ed961
-m Message,描述信息
-a author,image的创建者
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos6 hongtu 5f3bca7952ca About a minute ago 320.3 MB centos centos6 25c5298b1a36 2 weeks ago 215.8 MB
可以看到,多出来一个TAG为hongtu的image,是我们刚刚创建好的
从Dockerfile创建image
创建一个Dockerfile
# mkdir hongtu # cd hongtu/ # touch Dockerfile
编辑Dockerfile内容:
# This is a comment FROM centos:centos6 MAINTAINER Hongtu Zang <hongtu_zang@chinacloudly.com> RUN yum install -y mysql mysql-server
FROM 基础image
MAINTAINER 作者
RUN 需要执行的命令,此处是安装mysql-server
docker run
创建新的模板
# docker build -t="hongtu/centos6:v2" . Sending build context to Docker daemon 2.56 kB Sending build context to Docker daemon Step 0 : FROM centos:centos6 ---> 25c5298b1a36 Step 1 : MAINTAINER Hongtu Zang <hongtu_zang@chinacloudly.com> ---> Using cache ---> 52f35fcefd08 Step 2 : RUN yum install -y mysql mysql-server ---> Running in 35ab46137fe7 Loaded plugins: fastestmirror Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package mysql.x86_64 0:5.1.73-3.el6_5 will be installed --> Processing Dependency: mysql-libs = 5.1.73-3.el6_5 for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(Sys::Hostname) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(IPC::Open3) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(Getopt::Long) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(File::Temp) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(Fcntl) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(Exporter) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: libmysqlclient_r.so.16(libmysqlclient_16)(64bit) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: /usr/bin/perl for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: libmysqlclient_r.so.16()(64bit) for package: mysql-5.1.73-3.el6_5.x86_64 --> Processing Dependency: libmysqlclient.so.16()(64bit) for package: mysql-5.1.73-3.el6_5.x86_64 ---> Package mysql-server.x86_64 0:5.1.73-3.el6_5 will be installed --> Processing Dependency: perl-DBI for package: mysql-server-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5.1.73-3.el6_5.x86_64 --> Processing Dependency: perl(DBI) for package: mysql-server-5.1.73-3.el6_5.x86_64 --> Running transaction check ---> Package mysql-libs.x86_64 0:5.1.73-3.el6_5 will be installed ---> Package perl.x86_64 4:5.10.1-136.el6_6.1 will be installed --> Processing Dependency: perl-libs = 4:5.10.1-136.el6_6.1 for package: 4:perl-5.10.1-136.el6_6.1.x86_64 --> Processing Dependency: perl-libs for package: 4:perl-5.10.1-136.el6_6.1.x86_64 --> Processing Dependency: perl(version) for package: 4:perl-5.10.1-136.el6_6.1.x86_64 --> Processing Dependency: perl(Pod::Simple) for package: 4:perl-5.10.1-136.el6_6.1.x86_64 --> Processing Dependency: perl(Module::Pluggable) for package: 4:perl-5.10.1-136.el6_6.1.x86_64 --> Processing Dependency: libperl.so()(64bit) for package: 4:perl-5.10.1-136.el6_6.1.x86_64 ---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed ---> Package perl-DBI.x86_64 0:1.609-4.el6 will be installed --> Running transaction check ---> Package perl-Module-Pluggable.x86_64 1:3.90-136.el6_6.1 will be installed ---> Package perl-Pod-Simple.x86_64 1:3.13-136.el6_6.1 will be installed --> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.13-136.el6_6.1.x86_64 ---> Package perl-libs.x86_64 4:5.10.1-136.el6_6.1 will be installed ---> Package perl-version.x86_64 3:0.77-136.el6_6.1 will be installed --> Running transaction check ---> Package perl-Pod-Escapes.x86_64 1:1.04-136.el6_6.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mysql x86_64 5.1.73-3.el6_5 base 894 k mysql-server x86_64 5.1.73-3.el6_5 base 8.6 M Installing for dependencies: mysql-libs x86_64 5.1.73-3.el6_5 base 1.2 M perl x86_64 4:5.10.1-136.el6_6.1 updates 10 M perl-DBD-MySQL x86_64 4.013-3.el6 base 134 k perl-DBI x86_64 1.609-4.el6 base 705 k perl-Module-Pluggable x86_64 1:3.90-136.el6_6.1 updates 40 k perl-Pod-Escapes x86_64 1:1.04-136.el6_6.1 updates 32 k perl-Pod-Simple x86_64 1:3.13-136.el6_6.1 updates 212 k perl-libs x86_64 4:5.10.1-136.el6_6.1 updates 578 k perl-version x86_64 3:0.77-136.el6_6.1 updates 51 k Transaction Summary ================================================================================ Install 11 Package(s) Total download size: 23 M Installed size: 69 M Downloading Packages: -------------------------------------------------------------------------------- Total 104 kB/s | 23 MB 03:42 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Importing GPG key 0xC105B9DE: Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org> Package: centos-release-6-6.el6.centos.12.2.x86_64 (@CentOS/$releasever) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : mysql-libs-5.1.73-3.el6_5.x86_64 1/11 Installing : 1:perl-Pod-Escapes-1.04-136.el6_6.1.x86_64 2/11 Installing : 4:perl-libs-5.10.1-136.el6_6.1.x86_64 3/11 Installing : 1:perl-Module-Pluggable-3.90-136.el6_6.1.x86_64 4/11 Installing : 1:perl-Pod-Simple-3.13-136.el6_6.1.x86_64 5/11 Installing : 3:perl-version-0.77-136.el6_6.1.x86_64 6/11 Installing : 4:perl-5.10.1-136.el6_6.1.x86_64 7/11 Installing : perl-DBI-1.609-4.el6.x86_64 8/11 Installing : perl-DBD-MySQL-4.013-3.el6.x86_64 9/11 Installing : mysql-5.1.73-3.el6_5.x86_64 10/11 Installing : mysql-server-5.1.73-3.el6_5.x86_64 11/11 Verifying : 3:perl-version-0.77-136.el6_6.1.x86_64 1/11 Verifying : perl-DBD-MySQL-4.013-3.el6.x86_64 2/11 Verifying : mysql-libs-5.1.73-3.el6_5.x86_64 3/11 Verifying : mysql-server-5.1.73-3.el6_5.x86_64 4/11 Verifying : mysql-5.1.73-3.el6_5.x86_64 5/11 Verifying : perl-DBI-1.609-4.el6.x86_64 6/11 Verifying : 1:perl-Pod-Simple-3.13-136.el6_6.1.x86_64 7/11 Verifying : 4:perl-5.10.1-136.el6_6.1.x86_64 8/11 Verifying : 4:perl-libs-5.10.1-136.el6_6.1.x86_64 9/11 Verifying : 1:perl-Module-Pluggable-3.90-136.el6_6.1.x86_64 10/11 Verifying : 1:perl-Pod-Escapes-1.04-136.el6_6.1.x86_64 11/11 Installed: mysql.x86_64 0:5.1.73-3.el6_5 mysql-server.x86_64 0:5.1.73-3.el6_5 Dependency Installed: mysql-libs.x86_64 0:5.1.73-3.el6_5 perl.x86_64 4:5.10.1-136.el6_6.1 perl-DBD-MySQL.x86_64 0:4.013-3.el6 perl-DBI.x86_64 0:1.609-4.el6 perl-Module-Pluggable.x86_64 1:3.90-136.el6_6.1 perl-Pod-Escapes.x86_64 1:1.04-136.el6_6.1 perl-Pod-Simple.x86_64 1:3.13-136.el6_6.1 perl-libs.x86_64 4:5.10.1-136.el6_6.1 perl-version.x86_64 3:0.77-136.el6_6.1 Complete! ---> 4ee0c1aacb0e Removing intermediate container 35ab46137fe7 Successfully built 4ee0c1aacb0
成功创建新的image
-t
定义image属性,属于 hongtu
用户,repository
为 centos
, tag
指定为 v2
.
指定在当前目录寻找 Dockerfile
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hongtu/centos6 v2 4ee0c1aacb0e 2 minutes ago 323.1 MB centos6 hongtu 5f3bca7952ca 31 minutes ago 320.3 MB centos centos6 25c5298b1a36 2 weeks ago 215.8 MB
可以看到新建的image id 为 4ee0c1aacb0e
向Docker hub上传 image
# docker push hongtu/centos6
删除本地image
# docker rmi -f hongtu/centos6
-f
强制删除
Docker Image操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。