一、docker网址
官网 :https://docs.docker.com/ 镜像地址:https://hub.docker.com/
一、centos 安装docker
1、如果之前安装过docker,则清除掉
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2、安装docker ,地址使用阿里云镜像
sudo yum install -y yum-utils
镜像地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新索引
yum makecache fast
安装引擎
sudo yum install docker-ce docker-ce-cli containerd.io
3、更新软件包的索引
yum makecache fast
4、启动docker
systemctl start docker
二、镜像命令
1、显示版本信息
docker version
2、显示更加详细信息
docker info
3、docker帮助命令
docker --help
4、查看所有镜像
docker images
5、搜索镜像
docker search mysql #搜索所有镜像
docker search mysql --filter=Stars=800 #详细搜索镜像
6、下载镜像
docker pull mysql #下载最新镜像 docker pull 镜像名:[tag] #下载指定镜像 docker pull mysql:5.7
7、删除镜像
docker rmi -f 镜像id #删除一个镜像
docker rmi -f $(docker images -aq) # 删除全部镜像
三、容器命令
1、拉去镜像
docker pull redis # 下载镜像
2、运行镜像
docker run [可选参数] image 命令 参数说明 --name="Name" 容器名字 -d 后台运行 -it 使用交互方式运行,进入容器查看内容 -p 指定容器端口 -p 8080 -p 随机指定端口 -p IP:主机端口:容器端口
3、进入容器内部
docker run -it centos /bin/hash #启动并进入容器内部
docker run -d centos /bin/hash #后台运行,启动并进入容器内部
4、指定映射端口
docker run -d --name nginx01 -p 3344:80 nginx # --name 容器的名字 -p 3344 主机的IP,80容器的id ,主机的3344端口对应容器的80端口
5、列出容器
docker ps -a #列出正在运行的容器+历史容器 docker ps #列出所有正在运行的容器 docker ps -a -n=1 #最近运行的一个容器 docker ps -q #获取容器编号
6、从容器里面退出
exit #退出容器,并停止
ctrl+p+q #推出容器,但不停止
7、删除容器
docker rm 容器id #不能删除正在运行的容器 docker rm -f $(docker ps -aq) #删除所有容器 docker ps -a -q|xargs docker rm #删除所有容器
8、启动与停止容器
docker start 容器id #启动
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id # 停止当前正在运行的容器
四、其他常用命令
docker run -d 镜像名 #docker ps 发现容器停止了,容器使用后台运行,必须要有一个前台线程。docker发现没有应用,就会自动停止 docker log -f -t --tail (num) 容器名 #显示指定条数日志 docker log -f -t 容器名 #显示所有日志
2、查看容器中的进程信息
docker top 容器id # 命令
docker inspect 容器id #查看容器内部信息
3、进入当前正在运行的容器
dcoker exec -it 容器id /bin/bash #以交互模式(-it)进入容器内部,进入容器后,开启一个新的终端
docker attach 容器id #进入容器后正在执行的终端,不会启动一个新的进程
4、从容器拷贝文件到主机
docker cp 容器id:容器内路径 主机路径 #docker cp 容器id:/home/test/py /etc
5、运行下载的容器并指定端口
docker run -d --name nginx01 -p 3344:80 nginx # -d 后台运行 --name 容器的名字 -p 3344 主机的IP,80容器的id ,主机的3344端口对应容器的80端口
curl localhost:3344 #测试访问
docker exec -it nginx01 /bin/bash #进入容器内部
6、查看cpu状态
docker stats
五、图形化工具
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer