1.安装docker
(1)删除旧版本(如果有的话):yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
(2)安装所需要的依赖包:yum -y install yum-utiils device-mapper-persistant-data lvm2
(3)设置yum仓库:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(4)安装:yum install docker-ce docker-ce-cli containerd.io
安装特定版本:yum list docker-ce --showduplicates | sort -r
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
启动:systemctl start docker
2.docker镜像
docker pull 镜像名:下载镜像
docker push 镜像名:上传镜像
docker images:查看所有镜像
docker images 镜像名:查看镜像相关信息
docker run -d -p host端口号:容器端口号 -v host目录:容器目录 镜像名称:运行容器
docker commit 旧镜像名 新镜像名:从容器构建镜像
docker build -t 新镜像名 . --no-cache:用dockerfile构建镜像
注:.指明build-context为当前目录。docker默认会从build context中查找dockerfile文件,也可以通过-f参数指定dockerfile位置
--no-cache指构建镜像时,不使用缓存,默认会有镜像缓存
docker history 镜像名:显示镜像构建历史
docker rmi 镜像名:删除镜像
docker login -u 用户名:登录docker hub
注:如果一个镜像对应了一个tag,只有当最后一个tag被删除时,镜像才会被删除,删除其中一个只是删除了tag,镜像本身没有删除
docker search 镜像名:在命令行搜索docker hub中的镜像
docker tag 镜像名 [registry-host]:[port]/[username]/xxx:重命名镜像
注:镜像名称由repository和tag两部分组成。而repository的完整格式为:[registry-host]:[port]/[username]/xxx,只有docker hub上的镜像可以省略registry-host:[port]
docker save image_name:tag>xx.tar:导出镜像(将本地镜像导出为tar包)
docker load <xx.tar:导入镜像(通过tar包导入镜像)
3.docker容器
docker run -itd --name 容器名称 --restart=always -m 2G --vm 1 --vm-bytes 280M -c 512 --cpu 4 --blkio-weight 600 --device-write-bps /dev/sda:30M -h aaa 镜像名 镜像内的命令:使用镜像创建容器
参数:-i交互式
-t终端
-d后台进程
--name指定容器名称
--restart=always自动重启(意味着无论容器因为何种原因退出(包括正常退出),都立即重启。该参数还可以为--restart=on-failure:3,意思是如果启动进程退出码非0,则重启容器,最多重启3次)
-m设置内存使用限额,--memory-swap:设置内存+swap的使用量限制,默认情况下,上面两组的参数为-1,即对容器内存和swap没有限制
--vm启动内存工作线程数量
--vm-bytes设置每个内存工作线程的大小
-c设置容器使用CPU权重,默认1024
--cpu设置CPU工作线程数量
--blkio-weight读写磁盘带宽的权重值
--device-write-bps限制写某个设备的bps(--device-read-bps:限制读某个设备的bps、--device-write-bps:限制写某个设备的bps、--device-read-iops:限制读某个设备的iops、--device-write-iops:限制写某个设备的iops)
-h设置hostname
docker ps:查看正在运行的容器
docker ps -a:查看所有的容器
docker attach 容器id:进入容器终端(可通过ctrl+p+q组合键退出attach终端,之前run的时候必须使用-it参数)
docker exec -itd 容器id号 容器内命令:进入容器,退出时不会关闭容器,因为是启动新的进程去执行
docker stop 容器ID:停止运行的容器
docker kill 容器ID:杀死运行容器的进程
docker start 容器ID:启动容器,会保留容器的第一次启动时所有的参数
docker restart 容器ID:重启容器
docker pause 容器ID:暂停容器
docker unpause 容器ID:取消暂停
docker rm 容器ID:删除容器(一次可以指定多个,如果希望删除所有已退出的容器,可以执行docker rm -v $(docker ps -aq -f status=exited))
docker create 镜像名:创建容器,容器处于create状态
docker logs -f:显示容器启动进程的控制台输出