Docker安装的前提条件
Centos7 内核版本3.10以上,64位
查看内核版本 uname -r
- 安装docker
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 #移除旧版本
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #安装一些必要的系统工具
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #添加软件源信息
sudo yum -y install docker-ce #安装docker
systemctl start docker #启动docker服务
systemctl enable docker #开机自启docker服务
docker version #查看docker版本信息
会出现客户端版本信息和服务器端版本信息才证明安装成功
- docker基本命令
[root@docker ~]# docker --help
Usage:
docker [OPTIONS] COMMAND [arg...]
docker daemon [ --help | ... ]
docker [ --help | -v | --version ]
A
self-sufficient runtime for containers.
Options:
--config string Location of client config files (default "/root/.docker") #客户端配置文件的位置
-D, --debug=false Enable debug mode #启用Debug调试模式
-H, --host=[] Daemon socket(s) to connect to #守护进程的套接字(Socket)连接
-h, --help=false Print usage #打印使用
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info") #设置日志级别
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem") #信任证书签名CA
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem") #TLS证书文件路径
--tlskey string Path to TLS key file (default "/root/.docker/key.pem") #TLS密钥文件路径
--tlsverify Use TLS and verify the remote #使用TLS验证远程
-v, --version Print version information and quit #打印版本信息并退出
Commands:
attach Attach to a running container #当前shell下attach连接指定运行镜像
build Build an image from a Dockerfile #通过Dockerfile定制镜像
commit Create a new image from a container's changes #提交当前容器为新的镜像
cp Copy files/folders from a container to a HOSTDIR or to STDOUT #从容器中拷贝指定文件或者目录到宿主机中
create Create a new container #创建一个新的容器,同run 但不启动容器
diff Inspect changes on a container's filesystem #查看docker容器变化
events Get real time events from the server #从docker服务获取容器实时事件
exec Run a command in a running container #在已存在的容器上运行命令
export Export a container's filesystem as a tar archive #导出容器的内容流作为一个tar归档文件(对应import)
history Show the history of an image #展示一个镜像形成历史
images List images #列出系统当前镜像
import Import the contents from a tarball to create a filesystem image #从tar包中的内容创建一个新的文件系统映像(对应export)
info Display system-wide information #显示系统相关信息
inspect Return low-level information on a container or image #查看容器详细信息
kill Kill a running container #kill指定docker容器
load Load an image from a tar archive or STDIN #从一个tar包中加载一个镜像(对应save)
login Register or log in to a Docker registry #注册或者登陆一个docker源服务器
logout Log out from a Docker registry #从当前Docker registry退出
logs Fetch the logs of a container #输出当前容器日志信息
pause Pause all processes within a container #暂停容器
port List port mappings or a specific mapping for the CONTAINER #查看映射端口对应的容器内部源端口
ps List containers #列出容器列表
pull Pull an image or a repository from a registry #从docker镜像源服务器拉取指定镜像或者库镜像
push Push an image or a repository to a registry #推送指定镜像或者库镜像至docker源服务器
rename Rename a container #重命名容器
restart Restart a running container #重启运行的容器
rm Remove one or more containers #移除一个或者多个容器
rmi Remove one or more images #移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除)
run Run a command in a new container #创建一个新的容器并运行一个命令
save Save an image(s) to a tar archive #保存一个镜像为一个tar包(对应load)
search Search the Docker Hub for images #在docker hub中搜索镜像
start Start one or more stopped containers #启动容器
stats Display a live stream of container(s) resource usage statistics #统计容器使用资源
stop Stop a running container #停止容器
tag Tag an image into a repository #给源中镜像打标签
top Display the running processes of a container #查看容器中运行的进程信息
unpause Unpause all processes within a container #取消暂停容器
version Show the Docker version information #查看容器版本号
wait Block until a container stops, then print its exit code #截取容器停止时的退出状态值
Run 'docker COMMAND --help' for more information on a command. #运行docker命令在帮助可以获取更多信息
注释来源[https://www.cnblogs.com/yanjieli/p/10218842.html](https://www.cnblogs.com/yanjieli/p/10218842.html
docker镜像管理
- 获取与删除镜像
docker pull imagename:tag
docker rmi 镜像ID或者标签
docker image rm 镜像ID或者标签
注意: 在删除镜像之前先用docker rm删除依赖于这个镜像的所有容器
- 搜索镜像
docker search imagename
- 查看镜像
docker images 列出所有已安装的镜像
- 导出与导入镜像
docker save image > /path 导出镜像到本地路径
docker load < /path 导入镜像
- 给镜像打标签
docker tag old new 将一个镜像的旧标签替换为新标签
docker容器管理
- 创建容器
docker create -it 镜像 #创建容器
docker run -it 镜像 #创建并启动容器
docker ps #查看正在运行的容器
docker ps -a # 查看所有状态的容器
docker start 容器ID #启动容器
docker stop 容器Id #停止容器
docker attach -it 容器ID #进入容器
docker exec -it 容器ID #进入容器 推荐这种方式
两者的区别: attach 在退出容器后容器就会进入停止状态 ,exec会一直保持运行状态
创建容器对应的参数
-i 交互式
-t 分配一个伪终端
-d 以守护状态运行(后台运行)
-p 3333:22 将容器的22端口映射到本机3333端口,ssh 直接指定3333端口即可
-e 设置环境变量
-h 定义容器主机名
-v 本机目录:虚拟机目录 挂载宿主机文件到容器
-m 挂载宿主机分区到容器
--name 给容器定义一个名词
- 导出导入容器
docker export 容器 > \path #带出容器到本地路径
docker import - name < 本地路径
可以使用docker import将导出的文件导入变成镜像,并指定镜像名字
- 删除容器
docker rm 容器ID #删除已经停止的容器
docker rm -f 容器ID #强制删除容器
docker rm $(docker ps -a -q) #获取全部容器的ID,进行删除, -q用来获取容器的ID
网友评论