1.创建并启动容器相关命令
一个标准的创建启动容器命令如下
docker run [OPTION] image [command]
其中OPTION可选参数有很多,比如 --name -d等等。
我们直接来看一个docker启动mysql的命令
docker run -p 3307:3306 --name mysql04 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
1.run
让容器启动
2. -d
以后台的形式启动,并返回容器ID,也即启动守护式容器;
3. -p 主机端口:容器端口
设置docker容器和实际主机端口的映射,这样就可以用外网进行访问docker中的容器了
4. --name
给启动的容器起一个别名
5. -e
这个是启动mysql特有的选项设置,因为创建mysql的时候,用户名有默认值root,但密码没有默认值,只有在创建mysql容器的时候就给出密码。
除了这些,还有一些常用的
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
一般使用的时候都是-it
比如我们用docker启动一个centos镜像的时候,就可以使用如下命令
docker run -it centos /bin/bash
ps:/bin/bash 其实可加可不加,因为启动centos默认就是这个命令,该命令为启动centos并进入centos的命令行界面。
查看容器相关命令
基本写法为 docker ps[OPTIONS]
OPTIONS包括
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
--no-trunc :不截断输出。
3.退出容器
一般-d运行的容器不需要退出,不想用的时候停止就可以了,比如mysql。但一些容器是需要退出的,比如centos,你在创建centos容器的时候就进入了它的命令行界面,而不是当前主机的。
于时有两种退出方式
exit 退出并停止
ctrl+P+Q 退出不停止
当我们在centos的命令行界面输入exit,即可退出到主机的root用户界面。
或者按住ctrl+P+Q。
当然既然能ctrl+P+Q退出不停止,就有办法在进来。
4.启动容器
标准写法是
docker start 容器id或容器名
容器id是创建容器随机生成的,容器名是--name指定的。
ps:这里说一下start和run的区别,其实区别很明显了,run是先创建后启动,不需要你有这个容器。start必须是已经存在的容器才能用。
5.重启容器
docker restart 容器id或容器名
重启嘛,就是正在运行的容器,关闭后在启动。
6.关闭容器
docker stop 容器id或容器名
强制停止容器
docker kill 容器id或容器名
7删除已经停止的容器
注意下,容器还在运行的时候不能被删除。
docker rm 容器id
如果一次删除多个容器可以用
docker rm -f $(docker ps -q -a)
8查看容器日志
我们来做一个实验,在启动centos的时候设定,让其每2秒打印一段字符串作为日志,我们去查看它的日志信息。
首先使用以下命令:
docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
每隔两秒打印一个do echo hello zzyy
image.png
查看日志命令
docker logs -f -t -tail
其中: -t 是加入时间戳
-f 跟随最新的日志打印
--tail 数字 显示最后多少条
image.png
9.查看容器中运行的进程
docker top 容器id
查看容器内部细节
docker inspect 容器id
10.进入正在运行的容器并以命令行交互(对应ctrl+q+p退出容器)
docker exec -it 容器id bashShell
或
docker attach 容器id
两者的区别是exec是启动新的终端,可以开启新的进程,attach直接进入容器启动终端,不会启用新的进程。
11.从容器内部拷贝文件到当前主机
docker cp 容器id 容器内路径 目的主机路径
image.png
网友评论