docker上手

230 阅读2分钟

docker

架构图

docker 主要特性

  • 文件、资源、网络隔离
  • 变更管理、日志管理
  • 写时复制

docker安装

这里使用的是centos7.6.x的服务器

  1. 删除旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
  1. 安装依赖
sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
  1. 添加源
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
  1. 启动服务并启动一个示例容器
# 启动服务
sudo systemctl start docker

# 来一个Hello World吧
sudo docker run hello-world
  1. 查询当前运行容器
# 当前运行
docker ps

# 所有容器
docker ps -a
  1. 升级&删除
# 更新所有
yum -y update

# 更新指定
yum-y update docker-ce docker-ce-cli containerd.io

# 删除
sudo yum remove docker-ce

# 删除系统文件
sudo rm -rf /var/lib/docker

Docker-compose集合命令

用于批量管理容器

  1. 下载docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 给予执行权限
sudo chmod +x /usr/local/bin/docker-compose
  1. 测试命令
docker-compose --version
docker-compose version 1.23.2, build 1110ad01
  1. 修改docker-compose的配置文件
vi docker-compost.yml

文件配置示例:

version: '3'
services:
  mysql1: # 容器名称
    image: mysql
    enviroment:
    - MYSQL_ROOT_PASSWORD=123456
    ports:
    - 28002:3306  # 映射端口,从docker内部的服务端口3306映射到宿主机的28002
  mysql2:
    image: mysql
    enviroment:
    - MYSQL_ROOT_PASSWORD=123456
    ports:
    - 28003:3306
  1. 根据配置文件批量运行容器
docker-compose up -d

# 批量停止
docker-compose stop

# 批量删除
docker-compose rm

docker-hub

  1. 登录
docker login
  1. 推送一个镜像
# 查询所有本地镜像
docker image

# 查询所有本地容器
docker ps

# 制作一个镜像
docker commit [容器ID] [用户名]/[在远程仓库的名称]:[tag]
docker commit edsfdf1234 zdj/msyql:1.0

# 查询镜像名称
docker image

# 推送一个镜像
docker push [镜像名称]
docker push zdj/msyql
  1. 拉取一个镜像
docker pull zdj/msyql