文章目录
Docker命令总结
简介:Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2.0协议。Docker可以将我们的应用程序打包封装到一个容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的资源,通过容器就可以实现方便快速并且与平台解耦的自动化部署方式,无论你部署时的环境如何,容器中的应用程序都会运行在同一种环境下。
Docker 其中包括 镜像、容器、仓库,很简单,目的就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的产品(可以是 web 应用或者数据库应用)及其环境能够做到"一次封装,到处运行"。
Docker环境安装:
#卸载旧的docker版本
yum remove docker \docker-client \docker-client-latest \ docker-common \docker-latest docker-latest-logrotate \docker-logrotate\docker-engine
# 安装yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2
# 为yum源添加docker仓库位置;
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 设置阿里云的Docker镜像仓库
# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker服务 docker-ce 是社区版,docker-ee 企业版
yum install docker-ce
# 启动docker服务。
systemctl start docker
# 查看当前版本号,是否启动成功
docker version
# hello-world 映像来验证是否正确安装
docker run hello-world
# 设置开机自启动
systemctl enable docker
卸载docker
# 1、卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2、删除资源
rm -rf /var/lib/docker
docker命令
# 镜像命令
# 查看本地所有镜像
docker images
# 可选项
--all , -a # 列出所有镜像
--quiet , -q # 只显示镜像的id
# 搜索镜像
docker search 镜像名称【选项】 docker search mysql --filter=stars=4000 # 搜素出来的镜像就是STARS大于3000的
# 下载镜像
docker pull 镜像名[:tag] #如果不写tag,默认就是latest
docker pull mysql:5.7
# 删除镜像(rmi带有i的是images)
#强制移除正在运行的容器(镜像) # 删除多个容器 # 删除所有容器
docker rmi -f 容器id docker rmi -f 容器1id 容器2id docker rmi -f $(docker images -aq)
# 容器命令
# 启动并进入centos容器 -it交互方式运行进入容器 # 指定容器的端口 -p 8080:8080,ip:主机端口:容器端口可为3、2或者1个
docker run -it centos /bin/bash docker run -p ip:主机端口:容器端口 容器名
# 启动nginx -d表示后台运行nginx 并使用映射
# name:给容器自定义命名 -p 宿主机端口:容器内部端口
docker run -d --name nginx01 -p 3344:80 nginx
# 进入到指定正在运行的容器中(进入容器后开启一个新的终端) # 进入容器后不开启一个新的终端,不会启动新的进程,但是退出会造成容器停止
docker exec -it ac46f0e9cc66 /bin/bash docker attach 镜像id
# 退出容器的交互模式(回到宿主机)但不停止容器
exit ctrl + P + Q
# 查看运行容器 # 列出所有运行或停止的容器 # 列出最后运行的一个容器 # 列出所有容器的id编号
docker ps docker ps -a docker ps -n=1 docker ps -aq
# 强制移除正在运行的容器 # 删除当前所有的容器 # 删除所有停止的容器,dangling的镜像和未使用的网络
docker rm -f 183c5e3c0f5f docker rm -f $(docker ps -aq) docker system prune
# 启动与停止容器的操作
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前的容器
# 容器拷贝文件
# 拷贝运行中的容器里的一个文件到主机目录中(无论该容器是否运行都能够进行拷贝) #拷贝宿主机的文件到容器中
docker cp ac46f0e9cc66:/home/test.java /home docker cp 目的主机路径 容器id:容器内路径
#查看日志
docker logs -tf --tail number 容器id
#查看容器中进程信息ps
docker top 容器id
#查看镜像的元数据
docker inspect 容器id
curl本机测试请求命令:
curl localhost:3344