zoukankan      html  css  js  c++  java
  • docker入门

    1. docker安装

    #docker的安装
    sudo apt-get install docker.io
    
    #取消普通用户sudo的方法
    #1. 创建docker组:
    sudo groupadd docker
    #2. 将当前用户加入docker组:
    sudo gpasswd -a ${USER} docker
    #3. 重启服务:
    sudo service docker restart
    #4. 刷新docker成员:
    newgrp - docker

    2. 镜像

    查找并下载镜像

    #查找镜像
    docker search centos
    docker search mysql
    #下载镜像(lastest 为镜像的版本,不指定默认为latest)
    docker pull mysql:latest
    docker pull centos:latest 

    镜像的操作

    1 # 列出下载的镜像
    2 docker image ls
    3 # 删除镜像
    4 docker image rm name/id

    3. 容器

    创建容器

    # 在指定的文件夹下创建容器
    cd ~/workplace/mysql
    docker run -p 3306:3306 --name yu-mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
    
    # 命令说明:
    -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
    -name yu-mysql:为容器创建一个名字
    -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
    -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
    -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
    
    -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

    启动停止,删除容器

    # 启动容器
    docker start name/id
    # 停止容器
    docker stop name/id
    # 删除容器
    docker rm name/id

    查看容器运行情况

    #查看运行的容器
    docker ps
    # 查看所有容器
    docker ps -a

    查看创建的容器的信息

    # 查看容器的信息
    docker inspect name/id

    向容器内部发送指令

    # 进入容器内部
    docker exec -it yu-mysql bash
    # 或者(我的不好使)
    docker attach yu-mysql
    
    # 在容器内创建一个文件
    docker exec -it yu-mysql touch 123.txt

    4. 其他操作

    容器和容器外拷贝文件

    # 把容器中的文件拷贝到容器外
    docker cp  yu-mysql:/123.txt   ~/workplace
    
    # 把容器外的文件拷贝到容器内
    docker cp  ~/workplace/456.txt  yu-mysql:/

    修改后的容器发布为镜像

    # 将修改后的容器发布为镜像, `-a`表示作者, `-m`表示对本次修改的说明
    docker commit -a "shuai_long" -m "add 123.txt" yu-mysql mysql:0.1
    
    # 基于新建的镜像创建容器
    docker run --name yu-mysql:01 mysql:0.1

     私有仓库

    下载仓库注册服务器的镜像,并创建出容器

    # 下载私有仓库注册服务器的镜像
    docker pull registry:latest
    
    # 创建一个注册服务器容器
    sudo docker run -d -p 5000:5000 --name server-registry -v /tmp/registry:/tmp/registry registry:latest
    
    #参数说明
     -d容器在后端运行
     -p 5000:5000在容器的5000端口运行并映射到外部系统的5000端口,
     --name server-registry容器命名为server-registry,
     -v /tmp/registry /tmp/registry  把宿主机的目录/tmp/registry挂载到容器目录/tmp/registry

    本地镜像添加标签,并将其归入本地仓库

    # 为本地镜像增加标签
    docker tag mysql:0.1 localhost:5000/mysql:0.1
    
    #将被标记的本地镜像, push到仓库
    docker push localhost:5000/mysql:0.1

    测试仓库的可用性

    #在虚拟机内网,开启另一台虚拟机, 该虚拟机尝试从Ubuntu获取刚刚创建的镜像mysql:0.1
    ifconfig | grep inet
    
    # 获取到IP地址后
    sudo docker pull 192.168.214.156:5000/mysql:0.1
  • 相关阅读:
    安装maven报错及解决
    Servlet包导入
    理解SQL SERVER的逻辑读,预读和物理读以及索引
    第六章(函数)编程题二
    第六章(函数)编程题一
    第五章(使用对象) 编程题一
    第三章(循环) 编程题 4
    第四章(数组) 编程题 1
    第三章(循环) 编程题 3
    低功耗蓝牙 ATT/GATT/Service/Characteristic 规格解读
  • 原文地址:https://www.cnblogs.com/shuai-long/p/9564970.html
Copyright © 2011-2022 走看看