简介
- docker 创建的所有虚拟实例公用一个linux内核,对硬件占用较小,属于轻量级虚拟机
开机启动、运行、停止和重启
开机启动
sudo systemctl enable docker
运行
sudo systemctl start docker
停止
sudo systemctl stop docker
重启
sudo systemctl restart docker
一张图
使用
查询
docker search xxx
拉取
- NAME 是列表中所需的镜像
docker pull NAME
导入导出镜像
导出
docker save -o docker.io/openjdk > /home/openjdk.tar.gz
查看镜像
docker images
删除镜像
docker rmi docker.io/openjdk
导入镜像
docker load < /home/openjdk.tar.gz
修改镜像名
docker tag OLD_NAME NEW_NAME
- 其实 image 多了一份,原来的 image 还在
容器
创建容器
docker run -it —name myjdk -p
: -v : —privileged bash
run
: 创建一个实例-it
: 前台交汇--name=myjdk
: 给该实例指定一个名称-p <host_computer_port>:<docker_instance_port>
: 映射端口(宿主机端口: docker实例端口)- 可多个
-v <host_computer_dir_or_file>:<docker_instance_dir_or_file>
: 数据卷/目录的映射(宿主机数据卷/目录: docker实例目录[后者会自动创建])- 宿主机一般挂载数据卷比较好
- 可多个
<docker_images_name/tag>
: 镜像名称或者标签-privileged
给 docker 容器权限以读取宿主机的目录/文件bash
: 启动后内容程序是哪种方式,这里 bash
稍后会进入实例, exit
可以退出实例,进入 stop 状态
暂停和停止容器
myjdk 是 实例名称,如果没有设置,则根据实例 id
docker pause myjdk docker unpause myjdk docker stop myjdk docker start myjdk # 重新启动 stop 的实例 docker start -i myjdk # 重新启动 stop 的实例,且进入交互式
查看实例的进程
docker ps -a
进入容器
docker attach 容器ID
docker exec -it 容器ID /bin/bash
离开容器
- 在容器中键入
exit
- 如果是
-d
运行的容器,容器不会退出 - 如果是
-i
运行的容器,容器会退出
- 如果是
- 键入
ctrl+p+q
可以保持容器后台运行