1.docker安装
ubuntu
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
centeos
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #安装一些必备的工具软件
sudo yum install docker-ce docker-ce-cli containerd.io
配置国内镜像
sudo vim /etc/docker/daemon.json
输入如下内容
{
"registry-mirrors": ["镜像源地址"]
}
常用镜像源
Docker 官方中国区:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
中国科技大学:https://docker.mirrors.ustc.edu.cn
阿里云:进入控制台,选择容器镜像服务,选择镜像加速器,会显示对应账号的地址
重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
docker运行命令时提示权限问题
1.创建docker组:sudo groupadd docker #默认会创建
2.将当前用户加入docker组:sudo gpasswd -a ${USER} docker
3.重启服务:sudo service docker restart
4.刷新docker成员:newgrp - docker
2.进入docker执行命令
docker run -it exec 容器名 /bin/bash
3.docker常用命令
镜像管理命令
查看所有镜像:docker images
搜索镜像:docker search image_name
# 拉取镜像如果不加tag,默认摘取最新版本
拉取镜像:docker pull image_name:version
导出镜像:docker save image_name > image_name.tar
导入镜像:docker load < image_name.tar
删除:docker rmi image_name
重命名:docker tag image_name:version new_name:version
历史记录:docker history image_name
容器管理命令
运行容器:docker run -d --name=run_name image_name run_cmd
# ps是显示正在运行的容器,-a显示所有运行过的容器
查看运行的容器:docker ps,docker ps -a
查看容器运行的进程:docker top Container_name
# 会显示 类似top的表格,可以查看内存cpu的使用情况
查看资源占用:docker start Container_name
更改容器状态:docker start|restart|stop|kill Container_name
暂停容器:docker pause/unpause Container_name
强制删除容器:docker rm -f Container_name
容器操作命令
执行命令:docker exec -it Container_name cmd
#不支持容器之间的复制
复制文件:docker cp Container_name:dir dir
查看容器日志:docker logs -f Container_name
查看容器/镜像的元信息:docker inspect image_name
查看容器内文件结构:docker diff Container_name
4.获取镜像的信息
docker inspect image_name or image_id
# 获取指定的信息
docker inspect -f '{{.val_name}}' image_name or image_id
#例
docker inspect -f '{{.Id}}' mysql
常用信息的key
端口 .Config.ExposedPorts
挂载目录 Config.Volumes
环境变量 Env
入口文件 Entrypoint
查看容器IP
#进入容器内部查看
docker exec -it id or name /bin/bash