docker安装与常用的命令详解

傻男人 1年前 ⋅ 815 阅读

docker安装与常用的命令详解

centos7 的安装方式

参考安装的手册
https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites

1、安装必要的一些系统工具

sudo yum clean all && yum update && yum makecache

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 

2、添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

3、更新并安装 Docker-CE

sudo yum makecache fast

sudo yum -y install docker-ce

4、开启Docker服务

sudo service docker start 

镜像加速 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://smpgb2bd.mirror.aliyuncs.com"]}EOF sudo systemctl daemon-reload sudo systemctl restart docker 

centos6 的安装方式

yum install -y epel-release yum install -y docker-io 

安装后的配置文件:

/etc/sysconfig/docker 

启动docker:

service docker start 

windows安装docker需要注意的事项:

一.需要安装Docker Toolbox工具;

二.设置镜像加速:

  • 1、运行docker-machine ssh default连接虚拟机
  • 2、修改
"https://registry.docker-cn.com" ] }EOF 
  • 3、退出ssh,重启docker-machine restart default

其他的命令:

  • 运行docker-machine stop default,停止运行中的虚拟机
  • 运行docker-machine rm default,删除默认的虚拟机

其他的安装方式

  • 1、 更新软件包和系统内核(等待更新完,需要一定的时间)
yum update 
  • 2、清空历史
sudo yum remove docker docker-client docker-client-latest docker- common docker-latest docker-latest-logrotate docker-logrotate docker- selinux docker-engine-selinux docker-engine 
  • 3、安装必要的包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 
  • 4、添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo
  • 5、更新 yum 缓存
sudo yum makecache fast 
  • 6、查询可用的docker版本
yum list docker-ce --showduplicates | sort -r 
  • 7、安装docker
sudo yum install docker-ce-版本号 (as: sudo yum install docker-ce- 18.06.3.ce-3.el7) 

安装可能存在的问题

a、问题一

failure: repodata/repomd.xml from mirrors.aliyun.com_docker-: [Errno 256] No more mirrors to try.
http://mirrors.aliyun.com/docker-/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found

1、进入目录

cd /etc/yum.repos.d

2、执行rm -rf删除所有

rm -rf *

3、更新yum

yum update

4、再按照步骤安装docker

b、启动时,出现 Failed to start docker.service: Unit not found

[root@anjingsi ~]# sudo service docker start
Failed to start docker.service: Unit not found. 

1、这是因为缺少 rhel-push-plugin.socket 单元,该单元是rhel-push-plugin软件包的一部分。所以执行以下指令就可以成功解决:

curl -sSL https://get.docker.com/ | sh

常用的命令

查看docker版本

docker version

启动docker

service docker start 或者 systemctl start docker

设置开机自启

systemctl enable docker

重启docker

service docker restart 或者 systemctl restart docker

停止docker

systemctl stop docker

检索镜像

docker search xxx(镜像名)

下载镜像

docker pull xxx(镜像名)

带版本号下载镜像

docker pull xxx(镜像名):[tag版本号]

列出镜像列表

docker images

删除镜像

docker rmi xxx(镜像名)

列出当前所有正在运行的container

docker ps

列出所有的container

docker ps -a

删除容器

docker rm 容器ID或者容器名

停止容器

docker stop 容器ID或者容器名

重启容器

docker restart 容器ID或者容器名

关闭docker

systemctl stop docker

进入容器内部

docker exec -it 容器id /bin/bash

删除所有镜像信息

docker rmi $(docker images -q)

删除所有镜像信息

docker rm $(docker ps -aq)

停止所有容器信息

docker stop $(docker ps -aq)

获取容器ip

docker inspect redis_s | grep IPAddress

想要删除untagged images,也就是那些id为的image

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

强制停止容器

docker kill 容器ID或者容器名

从一个容器中取日志

docker logs Name/ID

读取docker容器日志的后一千行信息的命令

docker logs -f --tail=1000 容器ID或者容器名

查看容器的日志
docker logs -f -t --tail 容器ID
#  -t 是加入时间戳  --tail 数字 显示最后多少条 -f 跟随最新的日志打印
将已有镜像重新打包

docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

docker命令参数总结

命令英文注释含义
attachAttach to a running container当前 shell 下 attach 连接指定运行镜像
buildBuild an image from a Dockerfile通过 Dockerfile 定制镜像
commitCreate a new image from a container changes提交当前容器为新的镜像
cpCopy files/folders from the containers filesystem to the host path从容器中拷贝指定文件或者目录到宿主机中
createCreate a new container创建一个新的容器,同 run,但不启动容器
diffInspect changes on a container's filesystem查看 docker 容器变化
eventsGet real time events from the server从 docker 服务获取容器实时事件
execRun a command in an existing container在已存在的容器上运行命令
exportStream the contents of a container as a tar archive导出容器的内容流作为一个 tar 归档文件[对应 import ]
historyShow the history of an image展示一个镜像形成历史
imagesList images列出系统当前镜像
importCreate a new filesystem image from the contents of a tarball从tar包中的内容创建一个新的文件系统映像[对应export]
infoDisplay system-wide information显示系统相关信息
inspectReturn low-level information on a container查看容器详细信息
killKill a running container停止指定 docker 容器
loadLoad an image from a tar archive从一个 tar 包中加载一个镜像[对应 save]
loginRegister or Login to the docker registry server注册或者登陆一个 docker 源服务器
logoutLog out from a Docker registry server从当前 Docker registry 退出
logsFetch the logs of a container输出当前容器日志信息
portLookup the public-facing port which is NAT-ed to PRIVATE_PORT查看映射端口对应的容器内部源端口
pausePause all processes within a container暂停容器
psList containers列出容器列表
pullPull an image or a repository from the docker registry server从docker镜像源服务器拉取指定镜像或者库镜像
pushPush an image or a repository to the docker registry server推送指定镜像或者库镜像至docker源服务器
restartRestart a running container重启运行的容器
rmRemove one or more containers移除一个或者多个容器
rmiRemove one or more images移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
runRun a command in a new container创建一个新的容器并运行一个命令
saveSave an image to a tar archive保存一个镜像为一个 tar 包[对应 load]
searchSearch for an image on the Docker Hub在 docker hub 中搜索镜像
startStart a stopped containers启动容器
stopStop a running containers停止容器
tagTag an image into a repository给源中镜像打标签
topLookup the running processes of a container查看容器中运行的进程信息
unpauseUnpause a paused container取消暂停容器
versionShow the docker version information查看 docker 版本号
waitBlock until a container stops, then print its exit code截取容器停止时的退出状态值

全部评论: 0

    我有话说: