• Docker学习(二)——容器(镜像)的创建、运行


    容器的相关命令

    一、创建交互式容器

    docker run [option] --name=容器名称镜像名称 [向启动容器中传入的命令] /bin/bash

    常用参数说明

    -i:表示创建并运行容器;

    -t:表示容器启动后会进入其命令行。通常于-i一起使用:-it表示创建并运行容器,且运行之后自动进入为当前应用打开一个默认终端;

    --name :为创建的容器命名;

    -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。

    -d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。

    -p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射

    -e 为容器设置环境变量

    --network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同

    例如:

    docker run -it --name=myRedis redis:latest /bin/bash 
    

      

    如上图所示,相当于我们在容器中显示地运行了一台redis。

    @×××××就是该容器的ID。

    我们可以通过输入exit或者ctrl+D退出该容器,当我们退出之后,该交互式容器也会随之停止!

     

    二、创建守护式容器

    创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。

    docker run [option] --name=容器名称镜像名称 [向启动容器中传入的命令] /bin/bash

      例如:(这里已将之前创建的交互式容器删除)

    docker run -id --name=myRedis redis:latest /bin/bash
    

      创建完成后,通过以下的命令进入该容器

    docker exec -it 容器名称或容器的ID /bin/bash
    

      

     如图所示,我们就进入了该容器。

    三、容器的其他操作命令

    1、查看容器

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

    2、启动和停止容器

    docker stop 容器的名称或者ID
    docker start 容器的名称或者ID
    

    3、删除容器

    删除容器之前要先停止该容器

    docker rm 容器的名称或者ID
    

    4、拷贝文件

    docker cp 需要拷贝的文件或目录容器名称:容器目录->把宿主机的文件拷贝到容器里
    docker cp 容器名称:容器目录需要拷贝的文件或目录->从容器中拷贝文件到宿主机
    

    5、目录的映射

    我们可以在创建容器的时候通过 -v参数,将宿主机的目录文件与容器内的目录文件进行映射,这样我们就可以通过修改宿主机目录文件从而去影响容器。

    格式:创建容器 –v 宿主机的目录:容器的目录
    
    如:docker run -id -v/usr/local/dunm.rdb:/data/dunm.rdb --name=myRedis redis:latest
    

      ps(如果你共享的是多级的目录,可能会出现权限不足的提示。这是因为CentOS7中的安全模块selinux把权限禁掉了,我们可以添加参数 --privileged=true 来解决映射目录没有权限的问题)

    6、查看容器的数据

    docker inspect 容器名称(容器ID)
    

      输出的信息很多,如下图所示的是容器的端口和IP地址。

    MySQL的部署

    1、拉取MySQL镜像

    docker pull centos/mysql-57-centos7
    

     可以看到MySQL镜像已经下载好了

    2、通过下载好的镜像创建容器(守护式)

    docker run -di --name=docker_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7
    

     注意:

    -p 前面的端口是宿主机的端口,后面的是容器内部MySQL的默认端口。宿主机的端口可以任意,只是用来映射容器内部的MySQL的,不过通常都是写成一致的。

    -e 表示添加容器的环境变量,MYSQL_ROOT_PASSWORD参数表示登录MySQL的root用户的密码。

    可以由上图中看出我们创建的容器已经启动。

    3、连接MySQL容器

     连接的名称随便起;主机名填宿主机的IP地址;端口是宿主机映射容器的端口,即冒号前面的端口;使用配置的root用户和密码。

    点击连接后可以看到成功创建了一个新的连接。

    如果你想在其它机器上使用这个MySQL容器,只需要复制运行即可!

    参考https://mp.weixin.qq.com/s/5HK1khkGcTgsH8vKtrR4Pg

    参考https://www.cnblogs.com/blog-rui/p/11244023.html

  • 相关阅读:
    《学习之道》第二章学习方法7看视频
    《学习之道》第二章学习6阅读书籍
    反射详解一
    spring 初始化和销毁的三种方法
    文件读取
    JdbcTemplate 详解二
    JdbcTemplate 详解一
    JdbcTemplate 详解三
    常用commons 工具类依赖配置
    java 8 stream
  • 原文地址:https://www.cnblogs.com/zrs123/p/14097154.html
Copyright © 2020-2023  润新知