装置docker
# 卸载旧的dockersudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 装置yum,指定阿里的docker镜像源sudo yum install -y yum-utilssudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 装置dockersudo yum install docker-ce docker-ce-cli containerd.io# 启动dockersudo systemctl start docker# 测试sudo docker run hello-world
根本命令
docker version #查看版本docker info #查看docker信息
镜像命令
docker images #查看镜像docker images -a #查看全副镜像docker images -q #查看镜像id
查找镜像
倡议到dockerhub
上查找镜像
# docker search 镜像名docker search mysql docker search mysql -f stars=3000 #依据条件过滤查找后果
拉取镜像
若须要指定版本镜像,到 dockerhub
(https://registry.hub.docker.com/)查找
# docker pull 镜像名docker pull mysql #默认拉取最新版本镜像docker pull mysql:5.7 #拉取指定版本镜像
删除镜像
# docker rmi 镜像名/镜像id docker rmi mysql #可指定镜像名或者是镜像iddocker rmi -f d1165f221234 d1165f221234 d1165f221234 #移除多个镜像docker rmi -f $(docker images -aq) #递归删除所有镜像
容器命令
docker pull centos # 有了镜像能力创立容器,linux,下载一个centos镜像docker run [可选参数] images #创立容器并启动,在没有下载该镜像的时候docker会默认下载# 参数阐明--name="Name" 容器名字 tomcat01 tomcat02用来辨别容器-d 后盾形式运行-it 应用交互的形式运行,进入容器查看内容-p 指定让容器端口 -p 8080:8080 -p ip:主机端口:容器端口 -p 主机端口:容器端口(主机) -p 容器端口 容器端口-P 随机指定端口# 测试,启动并进入容器docker run -it centos /bin/bash#从容器交互中退回主机exit
列出所有的容器
# docker ps 命令 # 列出以后正在运行的容器-a # 列出以后正在运行的容器+历史运行过的容器-n=? # 列出最近船舰的容器-q # 只列出容器编号
退出容器
exit # 间接进行容器并退出CTRL + P + Q # 容器不进行退出
删除容器
# docker rm 容器id # 删除指定的容器,不能删除正在运行的容器docker rm -f $(docker ps -aq) # 删除所有的容器docker ps -a -q|xargs docker rm # 删除所有的容器
启动和进行容器
docker start 容器id # 启动容器docker restart 容器id # 重启容器docker stop 容器id # 进行容器docker kill 容器id # 强制进行容器
罕用其余命令
docker run -d centos # 后盾运行centos# 问题:docker ps 发现centos进行了# 常见的坑,docker容器应用后盾运行,就必须要有一个前台过程,docker发现没有利用,就会主动进行# nginx启动后,发现自己没有提供服务,就会立刻进行,就是没有程序了
查看日志
docker logs -tf --tail 10 容器id # 查看以后容器的十条日志# 编写一段shell脚本输入日志docker run -d centos /bin/bash -c "while true;do echo helloworld;sleep 1;done"# 显示日志-tf # 显示日志--tail number # 显示日志条数
查看容器中过程信息
# docker top 容器id[root@localhost /]# docker top f395bc735fb6UID PID PPID C STIME root 126117 126099 0 Aug12 101 126168 126117 0 Aug12
查看镜像的元信息
# docker inspect 容器iddocker inspect f395bc735fb6
进入一个正在运行的容器
# 命令# docker exec -it 容器id bashShell # 进入容器后开启一个新的终端,能够在外面操作(罕用)# docker attach 容器id # 进入容器正在执行的终端,不回启动新的过程
从容器拷贝文件到主机
# docker cp 容器id:容器内门路 目的地的主机门路# 测试docker cp d63481102d0f:/usr/share/nginx/html/index.html /home