博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker-----常用命令
阅读量:4647 次
发布时间:2019-06-09

本文共 3661 字,大约阅读时间需要 12 分钟。

安装docker

1、安装docker

yum install docker
查一下安装版本
docker --version
2、启动docker
selinux需要关闭
systemctl enable docker.service
systemctl start docker.service

添加国内镜像库

   vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
需要重启docker生效

列出容器上的镜像

docker images

其中我们可以根据REPOSITORY来判断这个镜像是来自哪个服务器

如果没有 / 则表示官方镜像,类似于username/repos_name表示Github的个人公共库,类似于regsistory.example.com:5000/repos_name则表示的是私服。

IMAGE ID列其实是缩写,要显示完整则带上--no-trunc选项

搜索镜像

docker search nginx

搜索的范围是官方镜像和所有个人公共镜像。NAME列的 / 后面是仓库的名字。

下载镜像

docker pull nginx

删除镜像

docker rmi image-id

需要先删除应用这个镜像的docker

生成容器

交互式

docker -ti run --restart=always --name nginx1 -d -p 6378:80 -v /tmp/nginx:/tmp/:ro nginx

--name 运行一个名字为nginx1的容器nginx  使用nginx镜像-p  将Docker中的nginx的80端口映射到本机的6378端口。-d 后台执行--restart=always 自动重启容器-t:进入终端-i:获得一个交互式的连接,通过获取container的输入

 

-v 将主机上的目录挂载到容器的目录

#不指定的时候默认是rw模式,可以用docker inspect查看容器的属性,可以看到关于挂载目录的详细参数。

1. 默认情况不使用:rw :ro选项,Mode的值就是空字符串,但是rw是true“。

2. 使用:rw选项,Mode的值就是”rw”。
3. 使用:ro选项,Mode的值就是”ro”。

rw:宿主主机和docker互相都可以读写同步,都可以写,都可以互相同步。

ro:这个时候docker内不能写,宿主主机写了可以同步到容器内。

启动/关闭容器

docker stop container-name/container-id

通过容器名称或者容器id启动/停止容器

查看容器状态

docker ps -a  #显示所有容器,包括不运行的

docker ps #显示运行中的容器

docker info #查看容器和镜像的数量、以及docker的基本信息等资料

删除容器

docker rm container-name/container-id

只能删除已经不是up状态的docker

进入某个容器

使用container命令,当退出container后,container仍然在后台运行,命令使用方法如下:docker exec -it goofy_almeida /bin/bash  退出容器可以用crtl+D或者exit命令退出平常的容器一般都可以执行/bin/bash,很是alpine没有,改成 docker exec -it 镜像id sh 就好了。-u root #进入容器的用户

docker运行日志

journalctl -u docker.service  #可以加-f实时查看日志

docker logs 容器名  #查看容器运行日志,也可以加参数-t 带上时间戳

查看容器内进程

docker top 容器名

镜像备份恢复

Docker的镜像和容器可以有两种方式来导出

docker save #ID or #Namedocker export #ID or #Name

docker save和docker export的区别:

对于Docker Save方法,会保存该镜像的所有历史记录对于Docker Export 方法,不会保留历史记录,即没有commit历史docker save保存的是镜像(image),docker export保存的是容器(container);docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

save命令:

docker save [options] images [images...]示例 docker save -o nginx.tar nginx:latest 或 docker save > nginx.tar nginx:latest 其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)

load命令:

docker load [options]示例docker load -i nginx.tar或docker load < nginx.tar其中-i和

export命令:

docker export [options] container示例docker export -o nginx-test.tar nginx-test#导出为tardocker export #ID or #Name > /home/export.tar其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)

 import命令:

docker import [options] file|URL|- [REPOSITORY[:TAG]]示例docker import nginx-test.tar nginx:imp或cat nginx-test.tar | docker import - nginx:imp

文件拷贝

ocker cp :用于容器与主机之间的数据拷贝。

将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。docker cp /www/runoob 96f7f14e99ab:/www/将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。docker cp /www/runoob 96f7f14e99ab:/www将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。docker cp  96f7f14e99ab:/www /tmp/

在容器内运行命令

docker exec -d registry touch /123.txt

docker exec命令可以在容器内部额外的启动新进程,-d后面要加容器名以及要执行的命令

volume使用

docker volume --helpCommands:  create      创建一个数据卷  inspect     打印一个或多个数据卷的详细信息  ls          列出所有数据卷  prune       删除所有未使用的数据卷  rm          删除一个或多个数据卷

创建一个volume

docker volume create www-data

查看数据卷在宿主机上的路径:

[root@node1 volumes]# docker inspect www-data[    {        "Driver": "local",        "Labels": {},        "Mountpoint": "/var/lib/docker/volumes/www-data/_data",        "Name": "www-data",        "Options": {},        "Scope": "local"    }][root@nod

 注:每创建一个volume,docker会在/var/lib/docker/volumes/下创建一个子目录,默认情况下目录名是一串UUID。如果指定了名称,则目录名是volume名称。volume里的数据都存储在这个子目录的_data目录下。

把卷挂载到容器

docker run --rm --name web -p 80:80 -v www-data:/usr/share/nginx/html:ro -d nginx

 

转载于:https://www.cnblogs.com/jinyuanliu/p/10670382.html

你可能感兴趣的文章
《BI项目笔记》用Excel2013连接和浏览OLAP多维数据集
查看>>
C语言对mysql数据库的操作
查看>>
SQL Server 数据库备份
查看>>
INNO SETUP 获得命令行参数
查看>>
Charles抓取https请求
查看>>
LAMP环境搭建
查看>>
C语言的变量的内存分配
查看>>
clientcontainerThrift Types
查看>>
链接全局变量再说BSS段的清理
查看>>
hdu 1728 逃离迷宫
查看>>
HTML5与CSS3权威指南之CSS3学习记录
查看>>
docker安装部署
查看>>
AVL树、splay树(伸展树)和红黑树比较
查看>>
多媒体音量条显示异常跳动
查看>>
运算符及题目(2017.1.8)
查看>>
React接入Sentry.js
查看>>
ssh自动分发密匙脚本样板
查看>>
转 小辉_Ray CORS(跨域资源共享)
查看>>
Linux安装postgresql
查看>>
MyBatis启动:MapperStatement创建
查看>>