Docker服务相关命令
- 启动docker服务:
systemct1 start docker
- 停止docker服务:
systemctl stop docker
- 重启docker服务:
systematl restart docker
- 查看docker服务状态:
systemctl status docker
- 设置开机启动docker服务:
systemctl enable docker
Docker镜像
- 查看所有镜像
docker images
docker images -q
查看id - 搜索镜像有关xxx
docker search redis
- 拉取镜像 xxx `docker pull xxx [version]
- 删除镜像
docker rmi xxx
按编号docker rmi xxx:yyy
按名称和版本号(不写默认latest)
Docker容器
- 创建容器
docker run -it --name=c1 centos:7 /bin/bash
保持运行并分配终端,命名为c1,指定版本,进入容器后的初始化指令(打开一个shell) - 查看正在运行的容器
docker ps
查看正在运行的容器docker ps -a
常看所有的容器 - 后台运行容器
docker run -id --name=c2 centos:7
- 进入容器
docker exec -id c2 /bin/bash
退出不会结束容器 - 关闭容器
docker stop c2
- 启动容器
docker start c2
- 删除容器
docker rm c1
docker ps -aq
查看所有容器的id docker rmdocker ps -aq
删除所有容器(有运行的不能删除) - 查看容器信息
docker inspect c1
- 复制文件到容器中
docker cp dump.sql gva-mysql:/
- 查看日志
lua
复制代码
$ docker logs [OPTIONS] CONTAINER Options: --details 显示更多的信息 -f, --follow 跟踪实时日志 --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail string 从日志末尾显示多少行日志, 默认是all -t, --timestamps 显示时间戳 --until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
-i
: 让容器的标准输入(STDIN
)始终保持打开,即使没有输入任何指令(没有附加)
-t
: 分配一个终端,这样我们就可以使用命令来操作
-d
: 分离模式,让命令在后台(指的是宿主后台)运行。
--user
:指定用户运行,当我们需要 root
用户权限时可以指定。
bash
复制代码
docker run --network host -d -v /etc/frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc
无法运行,怎么修改配置
方法一:
把docker容器中的配置文件复制到主机中,然后在主机中修改,修改完成后再复制到docker容器中,这里需要使用的docker的命令:
text
复制代码
docker cp [容器id]:docker容器中配置文件路径 主机路径
例如:
text
复制代码
docker cp mysql:/etc/mysql/my.cnf /home/my.cnf
这样就能把容器中的文件拿到本地来,然后进行修改之后呢,再通过该命名上传到容器中去。
例如:
text
复制代码
docker cp 主机文件路径 容器id:docker容器中配置文件路径 docker cp /home/my.cnf mysql:/etc/mysql/my.cnf
之后我们重启容器就可以了。