1.显示主机上的所有镜像:
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest d4e60c8eb27a 2 days ago 166MB
2.下载镜像:
[root@localhost ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
8a29a15cefae: Pull complete
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
3.查找镜像:
[root@localhost ~]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6002 [OK]
ansible/centos7-ansible Ansible on Centos7 128 [OK]
4.查看指定镜像的信息:
[root@localhost ~]# docker images centos
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 470671670cac 4 months ago 237MB
5.查看镜像的完整信息:
[root@localhost ~]# docker inspect centos
[
{
“Id”: “sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee”,
“RepoTags”: [
“centos:latest”
],
“RepoDigests”: [
“centos@sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700”
],
“Parent”: “”,
“Comment”: “”,
“Created”: “2020-01-18T00:26:46.850750902Z”,
“Container”: “57333b28d93d47fedc0cc5c995092b9266fa4b73b64f3f88d42a08e46f1aab48”,
“ContainerConfig”: {
“Hostname”: “57333b28d93d”,
“Domainname”: “”,
“User”: “”,
“AttachStdin”: false,
“AttachStdout”: false,
“AttachStderr”: false,
“Tty”: false,
“OpenStdin”: false,
“StdinOnce”: false,
“Env”: [
“PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”
],
6.查看镜像的完整id:
[root@localhost ~]# docker images --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest sha256:d4e60c8eb27a1e2a9370e6d0120008433b3f543888d3fd8636a2426b3b8b37aa 2 days ago 166MB
centos latest sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee 4 months ago 237MB
7.创建自己的镜像:
(1.)创建一个容器:
[root@localhost ~]# docker run -it centos:latest /bin/bash
(2.)安装mariadb:
[root@dd92b44948b5 /]# yum -y instsall mariadb
(3.)(可以不查看不影响创建自己的镜像)查看一下内核和版本:(内核是基于宿主机的所以所有的内核都一样)
[root@dd92b44948b5 /]# uname -r
3.10.0-1062.9.1.el7.x86_64
[root@dd92b44948b5 /]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
(4.)退出容器 exit
[root@dd92b44948b5 /]# exit
exit
(5.)查看容器:
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd92b44948b5 centos:latest “/bin/bash” 6 minutes ago Exited (0) 59 seconds ago angry_beaver
9ce8dcdfe6a0 httpd “httpd-foreground” 33 hours ago Exited (0) 32 hours ago xenodochial_faraday
(6.)提交相应的镜像:
[root@localhost ~]# docker commit -m “a mariadb” -a “aaaa” dd92b44948b5 mariadb:aaaa
-m 添加相应的说明 -a 那个用户的操作 dd92b44948b5 相应的id号(可以用dockers ps -a查看) mariadb:aaaa 来自哪里:标记
(7.)查看:
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mariadb aaaa 378e89934144 28 seconds ago 355MB
httpd latest d4e60c8eb27a 2 days ago 166MB
centos latest 470671670cac 4 months ago 237MB
8.从本地导入镜像:
https://wiki.openvz.org/Download/template/precreated 镜像网址(import 会丢失元数据就是库和标签)
[root@localhost ~]# docker import centos-7-x86_64.tar.gz centoss:aa
sha256:cf465d21c4d5af0b8f1693f556f1b4f5e9ee6f900f1c0233400d3cf2c4f759b5
Import 路径/url 名字:标签
[root@localhost ~]# cat centos-7-x86_64-minimal.tar.gz | docker import - centos7
- 代表那个 管道符前面那个
9.上传镜像 要有docker hub 账户:
登陆账户:
[root@localhost ~]# docker login
登陆后给镜像打标签:
[root@localhost ~]# docker tag httpd:latest nyhang/httpd:latest
Docker tag 镜像名字和标签 库/名字标签
上传:
[root@localhost ~]# docker push nyhang/httpd:latest
查看:
10.移除本地镜像:
(在删除镜像前先删除容器docker rm 删除容器)
删除容器:
[root@localhost ~]# docker rm 9ce8dcdfe6a0
删除镜像:
[root@localhost ~]# docker rmi nyhang/httpd:latest
11.存储镜像和导入镜像:
存储镜像:
[root@localhost ~]# docker save -o ccentos.httpd httpd:latest
导入镜像:
[root@localhost ~]# docker load --input ccentos.httpd
ffc9b21953f4: Loading layer [>] 72.49MB/72.49MB
2a3864bf0aba: Loading layer [>] 2.56kB/2.56kB
4d7f420ed1cf: Loading layer [>] 36.7MB/36.7MB
91cd45949438: Loading layer [>] 61.51MB/61.51MB
50ed22113887: Loading layer [>] 3.584kB/3.584kB
Loaded image: httpd:latest
导入镜像:
[root@localhost ~]# docker load < ccentos.httpd
ffc9b21953f4: Loading layer [>] 72.49MB/72.49MB
2a3864bf0aba: Loading layer [>] 2.56kB/2.56kB
4d7f420ed1cf: Loading layer [>] 36.7MB/36.7MB
91cd45949438: Loading layer [>] 61.51MB/61.51MB
50ed22113887: Loading layer [>] 3.584kB/3.584kB
Loaded image: httpd:latest
导入镜像时如果没有库和标签 那么用docker tag 打标签和库