docker命令
1.首先通过yum安装docker:
yum install docker
2.启动docker:
systemctl start docker
3.查看docker版本:
docker -v
4.开机启动docker:
systemctl enable docker
5.关闭docker:
systemctl stop docker
6.去docker hub仓库查找镜像,比如查找tomcat,如下都用tomcat示例:
docker search tomcat
7.下载该镜像:
docker pull tomcat // 不加版本号默认下载最新版本latest
8.运行镜像创建容器并运行容器
docker run --name tomcat -p 8080:8080 -itd --restart always tomcat
// 镜像相当于是一个安装包,容器才是运行的软件
// --name起名字、-d 后台运行、-p 端口映射,如果不端口映射,本机无法直接访问到容器中tomcat,必须将虚拟机端口映射到容器中端口才可以访问。
// --restart always,容器开机自启、-e 指定参数、-v 挂载目录、-i 以交互模式运行容器,通常与 -t 同时使用、-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
9.删除镜像:
docker rmi tomcat // 可以用name也可以用id,i就表示镜像images
10.查看镜像:
docker images
11.查看运行中容器:
docker ps // -a 查看所有容器
12.删除容器:
docker rm tomcat // -f 强制删除
13.关闭容器:
docker stop tomcat
14.运行容器:
docker start tomcat
15.重启容器
docker restart tomcat
16.进入容器:
docker exec -it ef35e006af28(容器ID) /bin/bash // 进入容器命令后面也可以直接写bash,退出容器:exit
17.查看容器日志:
docker logs tomcat
18.docker复制命令:
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx // 将容器内目录或文件复制到宿主机指定目录
// docker安装mysql需要指定密码,添加 -e MYSQL_ROOT_PASSWORD=root 即可
// 运行容器访问ip+端口号后出现404问题,原因就是最新的tomcat镜像中,webapps目录下没有文件,而我们要访问的文件在另外一个目录webapps.dist下,把tomcat中的webapps目录删掉,然后把webapps.dist重命名为webapps,然后重新访问即可,删除webapps:rm -rf webapps,重命名:mv webapps.dist webapps。
--------------------------------------------------------------------------------------------------------------------------------------
docker-compose
// docker镜像在创建之后,往往需要自己手动pull来获取镜像,然后执行run命令来运行。当服务需要用到多种容器,容器之间又产生了各种依赖和连接的时候,部署一个服务的手动操作是令人感到十分厌烦的。docker-compose技术,就是通过一个.yml配置文件,将所有的容器的部署方法、文件映射、容器连接等等一系列的配置写在一个配置文件里,最后只需要执行docker-compose up命令就会像执行脚本一样的去一个个安装容器并自动部署他们,极大的便利了复杂服务的部署。
18.安装docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
19.将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
20.拉取镜像并创建运行容器:
docker-compose pull && docker-compose up -d // -d 后台启动
21.如果使用curl命令进行安装,则要卸载docker-compose:
rm /usr/local/bin/docker-compose