Docker常用命令
docker 常用地址
官方镜像库 https://hub.docker.com/_/
Linux安装Docker
- Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
uname -r
通过 uname -r 命令查看你当前的内核版本
2. 使用 root 权限登录 Centos。确保 yum 包更新到最新。
sudo yum update
- 卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
- 安装docker
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
- 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
- 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
可能出现的问题
1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:
Transaction check error:
file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
2、卸载旧版本的包
sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安装docker
sudo yum install docker-ce
设置docker国内镜像(阿里云)
打开阿里云镜像官方地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://x67s9rvp.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
mac安装docker
docker官网英特尔下载连接
官网提供的地址
下载后打开docker界面
-
在“常规”选项卡上,您可以配置何时启动和更新Docker:
-
自动检查更新:默认情况下,Docker Desktop被配置为自动检查更新版本。如果您将 Docker Desktop 安装为组织的一部分,您可能无法自己更新 Docker Desktop。在这种情况下,将现有组织升级到团队计划,并清除此复选框以禁用自动更新检查。
-
登录时启动Docker Desktop:打开会话时自动启动Docker Desktop。
-
在“时间机器”备份中包含虚拟机:选择此选项以备份Docker Desktop虚拟机。默认情况下禁用此选项。
-
使用gRPC FUSE进行文件共享:清除此复选框以使用旧的osxfs文件共享。
-
发送使用统计信息:Docker Desktop发送诊断、崩溃报告和使用数据。此信息有助于 Docker 改进应用程序并进行故障诊断。清除复选框以选择退出。
-
显示每周提示:显示有关使用Docker的有用意见和建议。
-
启动时打开Docker桌面仪表板:启动Docker桌面时自动打开仪表板。
资源设置
点击
Resources
,进入资源设置界面。“资源”选项卡允许您配置CPU、内存、磁盘、代理、网络和其他资源。
-
CPU:默认情况下,Docker Desktop设置为使用主机上可用处理器数量的一半。要增加处理能力,请将此设置为较高的数字;要降低,请降低数字。
-
内存:默认情况下,Docker Desktop设置为使用2GB的运行时内存,从Mac上的可用内存总数中分配。要增加内存,请将此设置为更高的数字。要减少它,请降低数量。
-
交换:根据需要配置交换文件大小。默认值为1GB。
-
磁盘映像大小:指定磁盘映像的大小。
-
磁盘映像位置:指定存放容器和映像的Linux卷的位置。
配置docker的代理环境变量
docker run -e HTTP_PROXY=http://proxy.example.com:3128 alpine env
常用命令
docker ps 查看所有运行中的容器
docker ps -a 查看所有容器(包括已经停止的)
docker ps -l 查询最后一次创建的容器
docker stop 1e560fca3906 停止某个容器
docker restart 1e560fca3906 重启某个容器
docker rm -f 1e560fca3906 删除某个容器
docker rmi 1e560fca3906 删除某个镜像(需先停止对应的容器)
docker attach 如果从这个容器退出,会导致容器的停止。
docker exec 如果从这个容器退出,不会导致容器停止(推荐用法)
docker pull training/webapp 载入镜像
docker run -d -P training/webapp python app.py -d:让容器在后台运行。-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
docker port bf08b7f2cd89 查看端口映射
docker port mysql 查看端口映射
docker log -f bf08b7f2cd89 查看应用内部日志输出
docker top wizardly_chandrasekhar 查看应用内部运行的进程
docker inspect wizardly_chandrasekhar 查看Docker容器的配置和状态信息。
docker stop wizardly_chandrasekhar 停止WEB应用容器(启动start、重启restart)
docker exec -it mysql bash 进入容器
docker save 0627ec6901db > mysql8.tar 拷贝镜像包到本地
docker save -o redis.tar redis:6.2.2
docker load < mysql8.tar 上传镜像包到docker中
docker tag 0627ec6901db mysql:8.0 标记image镜像
docker cp 本地文件路径 ID全称:容器路径 复制本地文件到容器中
docker compose
docker-compose -f /opt/docker/docker compose.yml up --build -d nacos 构建并后台启动nacos
安装nodejs
docker search node 查看node可用版本
docker pull node:latest 取最新的node版本
docker images 查看本地镜像
docker run -itd --name node-test node 运行容器(--name node-test:容器名称)