资讯专栏INFORMATION COLUMN

Docker的安装与常用命令

Hujiawei / 3378人阅读

Docker的安装与常用指令 Docker在Windows或Mac上的安装流程及命令
安装的前的准备
无论是Mac还是Windows都需要先安装Docker Toolbox,这样可以更加便于你对docker的管理:
Mac系统的安装文件目录: mirrors.aliyun.com/docker-toolbox/mac
Windows系统的安装文件目录: mirrors.aliyun.com/docker-toolbox/windows
创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。
docker-machine create --engine-registry-mirror=https://*******(阿里为会你提供).mirror.aliyuncs.com -d virtualbox default 
查看机器的环境配置,并配置到本地。然后通过Docker客户端访问Docker服务。(每次关机重启后都要执行)
docker-machine env default 
eval "$(docker-machine env default)" (win下使用docker-machine env default | Invoke-Expression)
docker info
Docker在Linux上的配置
Ubuntu安装docker
使用命令去阿里云镜像下载docker引擎
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
配置Docker加速器
您可以使用如下的脚本将mirror的配置添加到docker daemon的启动参数中(12.04和14.04)
echo "DOCKER_OPTS="$DOCKER_OPTS --registry-mirror=https://ie68a4mu.mirror.aliyuncs.com"" | sudo tee -a /etc/default/docker
sudo service docker restart
支持https镜像源
安装源
$ sudo apt-get install apt-transport-https ca-certificates
添加gpg秘钥
$ sudo apt-key adv --keyserver hk70ADBF76221572C******(阿里为提供)
获取当前系统代号
$ lsb_release -c
Codename:   trusty
打开/etc/apt/sources.list.d/docker.list加入deb [arch=amd64] http://mirrors.aliyun.com/docker-engine/apt/repo ubuntu-trusty main 这个是阿里的镜像源
安装apparmor安全模块
apt-get install apparmor
如果你用的不是root用户需要建立一个docker用户组来为那些人授权。
docker-machine常用命令
docker search 镜像名        #在镜像仓库中搜索某一类镜像
docker pull 镜像名          #从仓库中将某一镜像下载下来
docker images               #查看所有镜像
docker run -it 镜像名:标签名 /bin/bash             #实例化运行某一镜像虚拟到容器
docker ps -a                #查看所有容器(不加-a是查看正在运行的容器)
docker build -t="镜像名:标签名" .   #在当前文件夹下寻找Dockerfile文件,按照其内容打包镜像
docker commit -m "提该次交的描述" -a "提交人" 容器名或ID 镜像名:标签名  #将一个容器转化为一个镜像(有依赖关系)(一个镜像最多不能超过127层)
docker rm 容器名或ID         #删除某容器(全部清除docker rm $(docker ps -a -q))
docker rmi 镜像名或ID        #删除某镜像(删除之前确保改镜像没有依赖)
docker save -o 镜像包名.tar 镜像名:标签名    #将镜像打包成压缩文件
docker load --input 镜像包.tar    #从镜像包里面加载镜像
docker start 容器名或ID      #开启某容器
docker stop 容器名或ID       #关闭某容器
docker restart 容器名或ID    #重启某容器
docker attach 容器名或ID     #进入某一正在运行中的容器
docker login                 #登录到dockerhub仓库
docker push 镜像名:标签名    #将该镜像上传到仓库中
docker tag 镜像名或ID 新镜像名:标签名    #将该镜像改名
docker logs 容器名或ID       #打印容器日志
docker import 容器快照       #导入一个容器快照到本地镜像库
Dockfile文件
基本语法
使用#来注释
FROM表明要使用那个镜像作为基础镜像
FROM 镜像名:标签
维护这信息
MAINTAINER 维护者名字
RUN命令表示创建镜像是会运行的命令,比如安装应用
RUN apt-get -qq update
RUN apt-get -y install vim
除了这些还可以使用ADD命令复制本地文件到镜像
ADD my.conf /var/www
使用EXPOSE命令来向外部开放端口
EXPOSE 80
用CMD命令来描述容器启动后运行的程序
CMD ["/usr/sbin/apachectl","-D","FOREGROUND"]
docker run命令详解
当使用docker run创建容器时,docker后台运行的标准操作:
检查本地是否存在指定镜像,如果不存在先从公有仓库下载
利益镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面褂子一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个ip地址给容器
执行用户指定的应用程序
执行完毕后容器被终止
docker run命令参数
-a, --attach=[]             # 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
--add-host=[]               Add a custom host-to-IP mapping (host:ip)
--blkio-weight=0            Block IO (relative weight), between 10 and 1000
-c, --cpu-shares=0          CPU shares (relative weight)
--cap-add=[]                Add Linux capabilities
--cap-drop=[]               Drop Linux capabilities
--cgroup-parent=            Optional parent cgroup for the container
--cidfile=                  Write the container ID to the file
--cpu-period=0              Limit CPU CFS (Completely Fair Scheduler) period
--cpu-quota=0               Limit the CPU CFS quota
--cpuset-cpus=              # 绑定容器到指定CPU运行
--cpuset-mems=              # 绑定容器到指定MEM运行
-d, --detach=false          # 后台运行容器,并返回容器ID
--device=[]                 Add a host device to the container
--dns=[]                    # 指定容器使用的DNS服务器,默认和宿主一致
--dns-search=[]             # 指定容器DNS搜索域名,默认和宿主一致
-e, --env=[]                # 设置环境变量
--entrypoint=               Overwrite the default ENTRYPOINT of the image
--env-file=[]               # 从指定文件读入环境变量
--expose=[]                 Expose a port or a range of ports
-h, --hostname=             # 指定容器的hostname
--help=false                Print usage
-i, --interactive=false     # 以交互模式运行容器,通常与 -t 同时使用
--ipc=                      IPC namespace to use
-l, --label=[]              Set meta data on a container
--label-file=[]             Read in a line delimited file of labels
--link=[]                   Add link to another container
--log-driver=               Logging driver for container
--log-opt=[]                Log driver options
--lxc-conf=[]               Add custom lxc options
-m, --memory=               Memory limit
--mac-address=              Container MAC address (e.g. 92:d0:c6:0a:29:33)
--memory-swap=              Total memory (memory + swap), "-1" to disable swap
--name=                     # 为容器指定一个名称
--net=bridge                # 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
--oom-kill-disable=false    Disable OOM Killer
-P, --publish-all=false     Publish all exposed ports to random ports
-p, --publish=[]            Publish a container"s port(s) to the host
--pid=                      PID namespace to use
--privileged=false          Give extended privileges to this container
--read-only=false           Mount the container"s root filesystem as read only
--restart=no                Restart policy to apply when a container exits
--rm=false                  Automatically remove the container when it exits
--security-opt=[]           Security Options
--sig-proxy=true            Proxy received signals to the process
-t, --tty=false             # 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-u, --user=                 Username or UID (format: [:])
--ulimit=[]                 Ulimit options
--uts=                      UTS namespace to use
-v, --volume=[]             Bind mount a volume
--volumes-from=[]           Mount volumes from the specified container(s)
-w, --workdir=              Working directory inside the container
docker registry私有仓库搭建
在一台有docker的机器上布置仓库,仓库作为容器存在。
$ sudo docker run -d -p 5000:5000 registry
这个时候需要给要上传仓库的镜像包改名字
$ docker tag 镜像名或ID 仓库IP:仓库端口号/镜像名:标签名
然后将docker镜像上传到仓库
$ docker push 仓库IP:仓库端口号/镜像名:标签名
在拉镜像的时候可能会遇到server gave HTTP response to HTTPS client
这个时候在/etc/docker/daemon.json文件中加入{"insecure-registries":["IP地址:端口号"]}

文章来自我的个人博客,欢迎转载:Docker的安装与常用命令

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26843.html

相关文章

  • Linux下几行命令快速安装Docker及一些常用命令

    摘要:容器是完全使用沙箱机制,相互之间不会有任何接口。安装如果是国内机器可以选择使用阿里云镜像,加快安装速度常用命令启动设置开机自启查看本地镜像搜索镜像,以为例。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。安装Docker...

    Tecode 评论0 收藏0
  • Docker简介、常用命令实践(一)

    摘要:获取阿里云加速器地址进入登录阿里云进入后台配置加速器点击后就会重启并应用配置的镜像地址了检查加速器是否生效配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行,如果从结果中看到了如下内容,说明配置成功。 一、为什么要使用Docker以及与虚拟机的区别? 1.1 为什么要使用Docker Docker的思想来自于集装箱。集装箱解决了什么问题?在一艘大船上,...

    Ocean 评论0 收藏0
  • Docker简介、常用命令实践(二)

    摘要:上一篇简介常用命令与实践一六镜像操作获取镜像下载镜像到本地上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像。 【上一篇:Docker简介、常用命令与实践(一)】 六、Docker镜像操作 6.1 获取镜像(下载镜像到本地) Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像。从 Docker 镜像仓库获取镜像的命令是 docker pul...

    mykurisu 评论0 收藏0
  • Docker - 01 常用指令、参数配置速查表

    摘要:后续文谈到私仓非常有用。恢复数据卷首先运行了一个新容器作为数据恢复的目标。第二行指令启动了一个临时容器,这个容器挂载了两个,第一个与要恢复的共享,第二个将宿主机的当前目录挂载到容器的下。参考会煮咖啡的猫咪 showImg(https://segmentfault.com/img/remote/1460000016001552?w=615&h=456); 目录 01 Docker 常用...

    oneasp 评论0 收藏0
  • Docker容器系列教程(二):常用命令实操

    摘要:本文将在安装好的环境下使用命令行客户端开始学习常用指令。镜像常用操作罗列镜像这时只看到列表标题,并没有内容。最后给出了所有的的命令清单。以为基础框架,为数据访问层,为权限授权层,对常用数据进行缓存,基于构建的作为前端框架。 回顾:上一文对Docker做了一些介绍,解释了相关概念,如Docker客户端等,还通过对比Docker与虚拟机的差别了解到Docker的优势与特点。最后介绍了Doc...

    wudengzan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<