docker学习

一、安装

二、配置

(1)配置linux无需每次每次sudo执行docker

添加当前用户到docker组里

  1. $ sudo gpasswd -a yourusername docker

(2)配置国内镜像服务器

在国内,可以通过registry.docker-cn.com访问官方镜像库,目前该镜像库只包含流行的公有镜像,而私有镜像仍需要从美国镜像库中拉取。

使用vi修改 /etc/docker/daemon.json 文件并添加上”registry-mirrors”: [“https://registry.docker-cn.com“] ,如下:

  1. vi /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://registry.docker-cn.com"]
  4. }

配置完之后执行下面的命令,以使docker的配置文件生效
```

  1. systemctl daemon-reload
  2. systemctl restart docker

三、操作

A、容器相关

(1)运行容器run

  • 指定端口
    • -p
  • 映射所有端口(-P :是容器内部端口随机映射到主机的高端口)
    • -P
  • 数据持久化
    • v
  • 容器命名

    • docker run —name runoob docker_name

      (2)查看容器

  • 端口

  • 日志

docker logs -f docker_name

  • 进程
  • 程序
    • docker top -f docker_name
  • ps -a

    (3)停止容器(stop)

    docker stop dockername

    (4)重启容器

  • start

    (5)删除容器

  • rm

    (6)进入容器 attach

    docker exec -it docker_name /bin/bash

    (7)查看容器文件

    docker container ls

B、镜像相关

虚拟机镜像操作

列出所有镜像images

docker

获取镜像pull

docker pull docker_path

搜索镜像

  • search

    创建镜像

  • commit

    构建镜像

  • build

    设置镜像标签

  • tag

四、学习docker-compose

在学习docker的过程中,发现有时候我们的项目需要配合其他docker使用,例如mongodb、redis,采用的常规方法是每次docker run加入各种参数,但对于有时候需要启动docker时还需要进行某些配置(利用需要给mongodb添加配置用户和库表),用这种方式显得力不从心。

刚好看别人的开源项目,发现别人使用了docker-compose来管理虚拟机,实践和学习了一下,发现这种方式挺方便的,而且本身并不难。

安装

  1. pip install docker-compose

常用命令

启动docker-compose编排的多个虚拟机

需要当前路径有docker-compose.yml

  1. docker-compose up -d

关闭虚拟机

  1. docker-compose down

查看当前运行的docker

  1. docker-compose ps

编写docker-compose.yml