Docker实践三

115 阅读2分钟

这是我参与8月更文挑战的第15天,活动详情查看:8月更文挑战

接着前面两篇关于Docker的介绍和实践,本文主要讲一下docker容器和仓库。

Docker容器

Docker 容器与镜像之间的关系,就好像java里的类和其实例对象;一个类可以new很多个对象;一个镜像也可以run很多个容器

查看容器命令
[root@VM-0-17-centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
8f55fbd844e1        redis               "docker-entrypoint.s…"   4 months ago        Up 4 months         0.0.0.0:6379->6379/tcp              redis_wd
08be69defcbd        mysql:5.7           "docker-entrypoint.s…"   10 months ago       Up 2 months         33060/tcp, 0.0.0.0:3309->3306/tcp   mysql_57
使用最基础的run命令启动一个容器
[root@VM-0-17-centos ~]# docker run -itd --name ubuntu-test ubuntu:14.04
34fb1569ba05228a06254b972bd91e394017ba98a14fb3ecd910ed36bea6730e

参数说明:

  • -i: 交互式操作。

  • -t: 终端。

  • -d:后台运行

  • --name :给容器起个名字

  • ubuntu:14.04:对应的镜像

    加了-d的参数,启动后默认就不会进入容器了。需要进入容器的话使用docker exec

[root@VM-0-17-centos ~]# docker exec -it 34fb1569ba05 /bin/bash
root@34fb1569ba05:/#

exit退出容器

停止运行容器
[root@VM-0-17-centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
34fb1569ba05        ubuntu:14.04        "/bin/bash"              10 minutes ago      Up 10 minutes                                           ubuntu-test
8f55fbd844e1        redis               "docker-entrypoint.s…"   4 months ago        Up 4 months         0.0.0.0:6379->6379/tcp              redis_wd
08be69defcbd        mysql:5.7           "docker-entrypoint.s…"   10 months ago       Up 2 months         33060/tcp, 0.0.0.0:3309->3306/tcp   mysql_57
[root@VM-0-17-centos ~]# docker stop 34fb1569ba05
34fb1569ba05
删除容器

删除容器使用 docker rm 命令:

[root@VM-0-17-centos ~]# docker rm 34fb1569ba05 //这一串数字是容器id
34fb1569ba05

仓库 Docker Hub

目前 Docker 官方维护了一个公共仓库 Docker Hub

仓库登陆命令,需要用到你的账号和密码,

$ docker login

仓库退出命令

$ docker logout

拉取镜像,可以通过下面的命令搜索镜像,并执行 docker pull。

$ docker search ubuntu
$ docker pull ubuntu 

这跟github就很类似了对不对,其实原理都差不多,都是仓库管理工具。 有拉就会有推,推的话就用push。

至此docker三部就讲完了,有写的不好的地方欢迎大家指出。