【docker服务】
#启动Docker服务
systemctl start docker
#守护进程重启
sudo systemctl daemon-reload
#重启docker服务
service docker restart
#关闭docker
service docker stop
或者
systemctl stop docker
#查看docker版本
docker version
# 停止docker服务
systemctl stop docker
【docker镜像】
#查看docker上的所有镜像
docker images
#搜索mysql镜像
docker search mysql
#搜索Stars大于3000的mysql镜像
docker search mysql --filter=STARS=3000
#下载最新版的mysql镜像
docker pull mysql
#下载版本为5.7的mysql镜像
docker pull mysql:
# 删除一个 可以通过名称 也可以指定id -f表示删除所有
docker rmi -f 9cfcce23593a
# 删除多个 用空格分隔id
docker rmi -f id id id
# 删除所有镜像 (mages -aq就是查所有镜像id,从而递归删除)
docker rmi -f $(docker images -aq)
有了镜像就可以创建容器 (镜像就是类 容器就是对象)
#构建当前目录下的Dockerfile镜像(Dockerfile里的文件当前目录也要有 通常是jar包)
docker build -t 起个镜像名
【docker容器】
#后台启动镜像
docker run -d 镜像名
# 启动镜像 (已安装镜像XX,/bin/bash:并进入容器的命令行)(容器底层也是微linux)
docker run -it 镜像名 /bin/bash
# 退出容器
exit
# 容器不停止退出 注意必须在英文输入法下,中文输入法不行
Ctrl + P + Q
# 查看正在运行的容器
docker ps
# 查看曾经运行的容器
docker ps -a
# 显示最近创建的容器,设置显示个数
docker ps -a -n=2
# 只显示容器的编号
docker ps -aq
# 删除指定容器 不能删除正在运行的容器,如果强制删除 rm -f
docker rm 容器id
# 删除所有容器(删除容器后数据也删除)
docker rm -f $(docker ps -aq)
# 删除所有容器
docker ps -a -q|xargs docker rm
#启动一个容器
docker start
#docker中run和start的区别:
#docker run 后面指定的是一个镜像,而docker start指定的是一个容器 docker ps -a 查看到容器id
#docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器
#重启容器
docker restart
#停止容器
docker stop
#强制停止容器
docker kill
#查看500条指定id容器的运行日志
docker logs -tf -t --tail 500 容器id
#查看容器中的进程信息
ocker top [容器id]
#进入当前正在运行的容器 我们通常容器都是使用后台方式运行的
docker exec -it 容器id /bin/bash
或
docker attach c2887d35c71d
# 区别
# docker exec # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach 进入容器正在执行的终端,不会启动新的进程
# 容器数据拷贝到主机
docker cp 0569081aa89c:/home/test.java /home
启动mysql容器(root,bing,3306)
docker run -d -p 3306:3306 --name mysql-test -e MYSQL_ROOT_PASSWORD=bing mysql
停止mysql容器
docker stop mysql-test
再次启动
docker start mysql-test