最新mac系统千万不要用brew安装,推荐使用官方文档:https://docs.docker.com/docker-for-mac/#proxies

安装镜像:
docker pull centos:latest

latest代表拉取最新的镜像,当然可以先搜索下

docker search centos
查看本地镜像库:
tongkun@localhost java (master) $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              1e1148e4cc2c        9 days ago          202MB

在列出信息中,可以看到几个字段信息:

来自于哪个仓库,比如 ubuntu
镜像的标记,比如 16.04
它的 ID 号(唯一),比如e4415b714b62
创建时间
镜像大小

启动镜像:
tongkun@localhost java (master) $ docker run -it centos bash
[root@fc68ad1849ef /]#

-it 表示运行在交互模式,是-i -t的缩写,即-it是两个参数:-i和-t。前者表示打开并保持stdout,后者表示分配一个终端(pseudo-tty)一般这个模式就是可以启动bash,然后和容器有命令行的交互

启动镜像后,分配了一个新终端,命令行变为[root@fc68ad1849ef /]#说明启动成功,并且登陆到了根目录

在这里可以随意使用Linux命令了,但是有些命令是没有的,需要手动安装,比如vim,可以使用yum安装,命令:

yum install vim
退出容器

如果使用exit,命令退出,则容器的状态处于Exit,而不是后台运行。如果想让容器一直运行,而不是停止,可以使用快捷键 ctrl p+q 退出,此时容器的状态为Up

使用exit,然后使用

查看正在运行的容器:docker ps

tongkun@localhost java (master) $ docker run -it centos bash
[root@c06a8694d372 /]#
[root@c06a8694d372 /]# exit
exit
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bd7181bd39ff        centos              "bash"              3 minutes ago       Up 3 minutes                            priceless_goldwasser

可以看到,当前有一个id为bd7181bd39ff的容器,image为centos,就是刚刚启动的,如果通过exit退出容器,这里就不会显示了。

启动、停止、重启容器
tongkun@localhost java (master) $ docker stop bd7181bd39ff
bd7181bd39ff
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
tongkun@localhost java (master) $ docker start bd7181bd39ff
bd7181bd39ff
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bd7181bd39ff        centos              "bash"              6 minutes ago       Up 1 second                             priceless_goldwasser
tongkun@localhost java (master) $ docker restart bd7181bd39ff
bd7181bd39ff
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bd7181bd39ff        centos              "bash"              6 minutes ago       Up 4 seconds                            priceless_goldwasser
进入容器attach
tongkun@localhost java (master) $ docker attach bd7181bd39ff
[root@bd7181bd39ff /]#
安装软件、保存环境

安装vim

[root@bd7181bd39ff /]# yum install vim
.....
[root@bd7181bd39ff /]# vi
vi        view      vigr      vim       vimdiff   vimtutor  vipw

保存容器,先退出容器,然后commit

tongkun@localhost java (master) $ docker commit -m '安装vim' -a 'tongkun' bd7181bd39ff tongkun/centos:vim
sha256:1dab79502fbda22037e865b81882e073575af4e8a0bd8a0de16989b0ed244e2d

-m指定说明信息;-a指定用户信息;bd7181bd39ff代表容器的id;tongkun/centos:vim指定目标镜像的用户名、仓库名和 tag 信息

查看镜像库,就已经有刚提交的镜像了

tongkun@localhost java (master) $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
tongkun/centos      vim                 1dab79502fbd        About a minute ago   327MB
centos              latest              1e1148e4cc2c        9 days ago           202MB

退出现有镜像,启动刚刚commit的镜像,查看安装的vim是否存在

tongkun@localhost java (master) $ docker stop bd7181bd39ff
bd7181bd39ff
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
tongkun@localhost java (master) $ docker run -it tongkun/centos bash
Unable to find image 'tongkun/centos:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: Service Unavailable.
See 'docker run --help'.
tongkun@localhost java (master) $ docker run -it tongkun/centos:vim  bash
[root@a7880e04c1d4 /]# vi
vi        view      vigr      vim       vimdiff   vimtutor  vipw

可以看到,这是我们刚刚commit的镜像,有vim命令工具

删除容器或镜像

如果想删除容器或者镜像,可以使用rm命令,注意:删除镜像前必须先删除以此镜像为基础的容器(哪怕是已经停止的容器),否则无法删除该镜像,会报错Failed to remove image (e4415b714b62): Error response from daemon: conflict: unable to delete e4415b714b62 (cannot be forced) - image has dependent child images类似这种。

tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS               NAMES
a7880e04c1d4        tongkun/centos:vim   "bash"              5 minutes ago       Up 5 minutes                            blissful_volhard
tongkun@localhost java (master) $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tongkun/centos      vim                 1dab79502fbd        10 minutes ago      327MB
centos              latest              1e1148e4cc2c        9 days ago          202MB
tongkun@localhost java (master) $ docker rmi 1dab79502fbd
Error response from daemon: conflict: unable to delete 1dab79502fbd (cannot be forced) - image is being used by running container a7880e04c1d4

删除镜像 docker rmi 容器id, 因为此镜像有容器在使用,所以不能被删除,需要先删除容器,删除容器命令docker rm 镜像id,删除之前需要先stop容器,否则也会报错,如下:**Error response from daemon: You cannot remove a running container a7880e04c1d42f6d1f672ac920dd33df552a409cc19029314672643ee18e5836. Stop the container before **

tongkun@localhost java (master) $ docker rm a7880e04c1d4
Error response from daemon: You cannot remove a running container a7880e04c1d42f6d1f672ac920dd33df552a409cc19029314672643ee18e5836. Stop the container before attempting removal or force remove
tongkun@localhost java (master) $ docker stop a7880e04c1d4
a7880e04c1d4
tongkun@localhost java (master) $ docker rm a7880e04c1d4
a7880e04c1d4
tongkun@localhost java (master) $ docker rmi 1dab79502fbd
Untagged: tongkun/centos:vim
Deleted: sha256:1dab79502fbda22037e865b81882e073575af4e8a0bd8a0de16989b0ed244e2d
Deleted: sha256:f6def596fa2f515b28700f4cd3241e0ea78743abe6dad6d2f65bbf945f6dbf15

Docker push

正所谓“一次提交,到处使用”,我们可以把配置好的Docker push到仓库中,比如 docker hub

先把刚删除的镜像重新弄回来一遍。。。。。

首先到https://hub.docker.com/注册个账号,然后登陆

tongkun@localhost java (master) $ 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: tongkun
Password:
Login Succeeded

push镜像:

tongkun@localhost java (master) $ docker push tongkun/centos:vim
The push refers to repository [docker.io/tongkun/centos]
15f896816a9b: Pushed
071d8bd76517: Mounted from library/centos
vim: digest: sha256:41bdaf55a709080577ccb40f61c0f91275e4a1cb62827a3893b6a5269a619d67 size: 741

push成功之后,到docker hub的仓库中,我们就可以看到自己push上去的镜像了,跟github类似,如图:

pull镜像

当我们在其他地方也需要使用此镜像是,只需要配置好docker,并登陆docker就可以pull已有的镜像了,为了模拟我们先把本地镜像和容器删掉,从仓库中拉取

tongkun@localhost java (master) $ docker stop 133b1f45876f
133b1f45876f
tongkun@localhost java (master) $ docker rm 133b1f45876f
133b1f45876f
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
tongkun@localhost java (master) $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tongkun/centos      vim                 78c5c9cce361        8 minutes ago       327MB
centos              latest              1e1148e4cc2c        9 days ago          202MB
#删除镜像
tongkun@localhost java (master) $ docker rmi 78c5c9cce361
Untagged: tongkun/centos:vim
Untagged: tongkun/centos@sha256:41bdaf55a709080577ccb40f61c0f91275e4a1cb62827a3893b6a5269a619d67
Deleted: sha256:78c5c9cce361122999251ef6ed00d286e4a1af70124a53583e46dbaeb3517879
Deleted: sha256:4b40340dc18b3ef39430f7892e0021af55dcae7f5d76e3b73e0087392f6ca353
tongkun@localhost java (master) $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              1e1148e4cc2c        9 days ago          202MB
#从仓库中拉取镜像
tongkun@localhost java (master) $ docker pull tongkun/centos:vim
vim: Pulling from tongkun/centos
a02a4930cb5d: Already exists
260974091ff8: Pull complete
Digest: sha256:d57b9eb7123569c3b49279e8211d145b1070656be8aede5f97a0d025fc6ec6ee
Status: Downloaded newer image for tongkun/centos:vim
tongkun@localhost java (master) $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tongkun/centos      vim                 defbd9f314c9        11 minutes ago      327MB
centos              latest              1e1148e4cc2c        9 days ago          202MB
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
#启动镜像
tongkun@localhost java (master) $ docker run -it tongkun/centos:vim bash
[root@c42f9f275474 /]# tongkun@localhost java (master) $
tongkun@localhost java (master) $ docker ps
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS               NAMES
c42f9f275474        tongkun/centos:vim   "bash"              11 seconds ago      Up 10 seconds                           frosty_williams
最后来张docker命令图收尾

Mac入门就到这里了,深层次的使用和控制,后面学习再补充~

参考:http://lihuia.com/2018/03/09/docker/

Mac Docker入门安装使用相关推荐

  1. Docker入门安装教程

    Dokcer介绍: Docker是一种容器相关的技术,简单来说你可以把它当做一个微型的独立系统,在这个系统里面运行各种软件,然后又在linux服务器上或者是电脑上运行这个系统,这个系统就被称为Dock ...

  2. Docker入门-安装

    Centos7下安装Docker docker官方说至少Linux 内核3.8 以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos ...

  3. mac docker kitematic 安装 rabbitMQ

    安装教程可以根据以前的大佬分享的教程进行操作 https://blog.csdn.net/cckevincyh/article/details/86708588 我这里要说的是如何通过终端安装 Man ...

  4. docker一:mac入门安装

    2019独角兽企业重金招聘Python工程师标准>>> 1,从docker官网下载docker for mac,官网地址:https://www.docker.com/ 2,下载成功 ...

  5. docker入门及安装

    Docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).ba ...

  6. Linux、Windows、Mac下Docker的安装与使用

    Linux.Windows.Mac下Docker的安装与使用 一.Linux下的安装 二.Windows与Mac下的安装 三.Docker的使用 一.Linux下的安装 这里以Centos 7为例,首 ...

  7. Mac Docker安装MySQL5.7

    mkdir mysql 在~目录下创建mysql目录 docker run --restart=always --name mysql5.7 -p 3306:3306 -v ~/mysql:/var/ ...

  8. mac安装rstudio_在Windows / Linux / Mac OS上安装R和RStudio入门

    mac安装rstudio 在Windows上安装R (Installing R on Windows) Go to r-project.org on your internet browser.在您的 ...

  9. Docker入门到实践 (一) docker简介与安装、常用命令讲解

    Docker入门到实践 (一) docker简介与安装 一.docker 介绍   Docker 是一个开源的应用容器引擎 打包应用以及依赖包到一个可移植的镜像中,发布到任何机器上,实现虚拟化.容器是 ...

最新文章

  1. php-fpm 进程通讯,PHP-FPM进程模型解析
  2. Centos下 安装和测试kafka
  3. 实时监听 input输入框值的变化 并响应动作
  4. android使用webview加载flash文件
  5. git版本回退(3)
  6. android获取textview的行数
  7. 向日葵,teamviewer
  8. SaaS微信小程序电商系统,一键生成小程序【源码分享】
  9. 我工作第五年的学习与读书之法
  10. java编程加载窗口,插入图片
  11. python游戏计分代码_Python笔试题之设计“跳一跳”小游戏计分器
  12. linux 解压 7z 分卷压缩文件,linux分卷压缩与解压缩
  13. 娱乐圈有缘无份的明星
  14. 对待“流氓”,要比流氓更“流氓”!
  15. 技术提升了,钱自然就来了:盘点这段时间我挣钱的感受
  16. Docker镜像和容器相关命令
  17. 21个经典深度学习句间关系模型|代码技巧
  18. dell主板恢复出厂设置_如何进入戴尔笔记本bios及恢复bios出厂设置
  19. 百度API提交Java版,让你的网站快速收录提高排名
  20. 【西瓜】抖音小程序 抖音小程序源码包1.8(xigua_dy.94864)[西瓜抖音版小程序前端上传代码包最新原版]

热门文章

  1. 第四章 实现长期盈利
  2. Linux服务器Anaconda安装Pytorch(注意,前方有大坑)
  3. 直播预告 | 浙大CADCG实验室专场二
  4. 微服务分布式事务实战(一) 项目需求描述和实现步骤
  5. MediaPlayer详解
  6. php中date是啥意思,php中date函数具有哪些功能呢?
  7. L1距离和L2距离图像解释
  8. js如何下载.apk
  9. 生产者消费者模型详解以及实现
  10. 树莓派搭建nextcloud