容器的相关命令
一、创建交互式容器
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