一.docker配置
配置镜像源
sudo vim /etc/docker/daemon.json
{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
ps:如果还不行,重启电脑
二.docker命令
1.常用命令
启动docker
sudo systemctl start docker
重启docker
sudo systemctl restart docker
关闭docker
sudo systemctl stop docker
查看docker的运行状态
sudo systemctl status docker
查看帮助
docker --help
2.镜像命令
列出本地主机上的镜像
sudo docker images
repository:表示镜像的仓库源
tag:镜像的标签
image id:镜像id
created:镜像创建的时间(不是镜像的下载时间)
size:镜像大小
搜索镜像
sudo docker search 镜像名字
ps:实际情况不会在命令行搜镜像,而是去 https://hub.docker.com/ 搜索tomcat镜像
下载镜像
sudo docker pull 镜像名字:[TAG]
指定镜像的名字及tag
sudo docker pull 镜像名字
默认下载最近的镜像(sudo docker pull 镜像名字:latest)
删除镜像
sudo docker rmi -f imageId
-f : 强制删除,防止由于镜像被容器使用导致无法删除
可以通过空格加上多个imageId删除多个镜像
sudo docker rmi -f $(sudo docker image -qa)
删除所有镜像
3.容器命令
新建并启动容器
sudo docker run [options] imageid/imageName:tag [command] [arg...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
–name=“容器新名字”: 为容器指定一个名称(如果同一个镜像,创建的名字不同,则会创建不同的容器)
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
查看哪些容器在运行
sudo docker ps [OPTIONS]
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
–no-trunc :不截断输出。
进入正在运行的容器并以命令行交互
docker exec -it containerId /bin/bash
这个并未进入容器,exec代表执行的意思
docker attach containerId
进入到容器中
退出正在运行的容器
如果启动容器,并进入容器内部,可以使用如下两个命令退出:
exit
容器停止并退出
ctrl+p+q
容器不停止退出
启动之前创建好的容器
docker start containerId/containerName
containerId: 可以通过docker ps 查看
containerName: 创建容器通过 --name 指定的别名
重启之前创建好的容器
docker restart containerId/containerName
containerId: 可以通过docker ps 查看
containerName: 创建容器通过 --name 指定的别名
停止之前创建好的容器
docker stop/kill containerId/containerName
stop/kill: 正常停止/强制停止
containerId: 可以通过docker ps 查看
containerName: 创建容器通过 --name 指定的别名
删除之前创建好的容器
docker rm [-f] containerId/containerName
-f: 强制删除
containerId: 可以通过docker ps 查看
containerName: 创建容器通过 --name 指定的别名
从容器内拷贝文件到主机上
sudo docker cp containerId:容器内的路径 目的主机的路径
从主机上拷贝文件到容器内
sudo docker cp 目的主机的路径 containerId:容器内的路径