Docker常⽤命令与介绍Docker安装与命令
Ubuntu中安装Docker
1. 更新ubuntu的apt源索引
sudo apt-get update
2. 安装包允许apt通过HTTPS使⽤仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3. 添加Docker官⽅GPG key
curl -fsSL download.docker/linux/ubuntu/gpg |sudo apt-key add -
4. 设置Docker稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] download.docker/linux/ubuntu \
$(lsb_release -cs) \
stable"
5. 添加仓库后,更新apt源索引
sudo apt-get update
6. 安装最新版Docker CE(社区版)
sudo apt-get install docker-ce
7. 检查Docker CE是否安装正确
sudo docker run hello-world
8. 为了避免每次命令都输⼊sudo,可以设置⽤户权限,注意执⾏后须注销重新登录
sudo usermod -a -G docker $USER
更改Docker镜像源
如果不存在,则新建
vi /etc/docker/daemon.json
填写如下内容
{
"debug": true,
"experimental": false,
"registry-mirrors":[
"uelkur2g.mirror.aliyuncs"
]
}
Docker使⽤命令操作
查看docker 当前版本
docker version
启动与停⽌
安装完成Docker后,默认已经启动了docker服务,如需⼿动控制docker服务的启停,可执⾏如下命令
# 启动docker
sudo service docker start
# 停⽌docker
sudo service docker stop
# 重启docker
sudo service docker restart
Docker镜像操作
什么是Docker镜像
Docker 镜像是由⽂件系统叠加⽽成(是⼀种⽂件的存储形式)。最底端是⼀个⽂件引 导系统,即 bootfs,这很像典型的 Linux/Unix 的引导⽂件系统。Docker ⽤户⼏乎永远不会和 引导系统有什么交互。实际上,当⼀个容器启动后,它将会被移动到内存中,⽽引导⽂件系 统则会被卸载,以留出更多的内存供磁盘镜像使⽤。Docker 容器启动是需要⼀些⽂件的, ⽽这些⽂件就可以称为 Docker 镜像。
Docker 把应⽤程序及其依赖,打包在 image ⽂件⾥⾯。只有通过这个⽂件,才能⽣成 Docker 容器。image ⽂件可以看作是容器的模板。Docker 根据 image ⽂件⽣成容器的实例。同⼀个 image ⽂件,可以⽣成多个同时运⾏的容器实例。
image 是⼆进制⽂件。实际开发中,⼀个 image ⽂件往往通过继承另⼀个 image ⽂件,加上⼀些个性化设置⽽⽣成。举例来说,你可以在 Ubuntu 的 image 基础上,往⾥⾯加⼊ Apache 服务器,形成你的 image。
image ⽂件是通⽤的,⼀台机器的 image ⽂件拷贝到另⼀台机器,照样可以使⽤。⼀般来说,为了节
省时间,我们应该尽量使⽤别⼈制作好的 image ⽂件,⽽不是⾃⼰制作。即使要定制,也应该基于别⼈的 image ⽂件进⾏加⼯,⽽不是从零开始制作。
为了⽅便共享,image ⽂件制作完成后,可以上传到⽹上的仓库。Docker 的官⽅仓库 Docker Hub 是最重要、最常⽤的 image 仓库。此外,出售⾃⼰制作的 image ⽂件也是可以的。
操作命令
查看所有镜像
sudo docker image ls
sudo docker image ls --all
REPOSITORY:镜像所在的仓库名称
TAG:镜像标签
IMAGEID:镜像ID
CREATED:镜像的创建⽇期(不是获取该镜像的⽇期)
SIZE:镜像⼤⼩
为了区分同⼀个仓库下的不同镜像,Docker 提供了⼀种称为标签(Tag)的功能。每个 镜像在列出来时都带有⼀个标签,例如latest、
12.10、12.04 等等。每个标签对组成特定镜像的⼀ 些镜像层进⾏标记(⽐如,标签 12.04 就是对所有 Ubuntu12.04 镜像层的标记)。这种机制 使得同⼀个仓库中可以存储多个镜像。— 版本号
我们在运⾏同⼀个仓库中的不同镜像时,可以通过在仓库名后⾯加上⼀个冒号和标签名 来指定该仓库中的某⼀具体的镜像,例如 docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash,表明从镜像 Ubuntu:12.04 启动⼀个容器,⽽这个镜像的操 作系统就是 Ubuntu:12.04。在构建容器时指定仓库的标签也是⼀个好习惯。
拉取镜像
sudo docker image pull 镜像名称:版本号 # 不指定版本默认为最新版
curl是什么命令sudo docker image pull library/hello-world
上⾯代码中,docker image pull是抓取 image ⽂件的命令。library/hello-world是 image ⽂件在仓库⾥⾯的位置,其中library是 image ⽂件所在的组,hello-world是 image ⽂件的名字。
由于 Docker 官⽅提供的 image ⽂件,都放在library组⾥⾯,所以它的是默认组,可以省略.
删除镜像
sudo docker image rm 镜像名称/镜像ID
容器操作[container]
创建容器[必须现有镜像,才能创建运⾏容器]
sudo docker run [option] 镜像名 [向启动容器中传⼊的命令] # 创建容器
常⽤可选参数说明:
-i 表⽰以“交互模式”运⾏容器
-t 表⽰容器启动后会进⼊其命令⾏。加⼊这两个参数后,容器创建就能登录进去。即 分配⼀个伪终端。
–name 为创建的容器命名
-
v 表⽰⽬录映射关系(前者是宿主机⽬录,后者是映射到宿主机上的⽬录,即 宿主机⽬录:容器中⽬录),可以使 ⽤多个-v 做多个⽬录或⽂件映射。注意:最好做⽬录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后⾯加上-d参数,则会创建⼀个守护式容器在后台运⾏(这样创建容器后不 会⾃动登录容器,如果只加-i -t 两个参数,创建后就会⾃动进去容器)。
-p 表⽰端⼝映射,前者是宿主机端⼝,后者是容器内的映射端⼝。可以使⽤多个-p 做多个端⼝映射
-e 为容器设置环境变量
–network=host 表⽰将主机的⽹络环境映射到容器中,容器的⽹络与主机相同
sudo docker run -it --name=ubuntu1 113a43faa138 /bin/bash
-it 创建⼀个伪终端交互界⾯,name指定容器名称,否则随机⼀个名字 113a43faa138 镜像id /bin/bash 创建后执⾏的命令
sudo docker run -dit --name=ubuntu -v ~/Desktop/ceshi:/ceshi ubuntu
# -v <;本机⽬录:容器⽬录>创建⼀个共享⽬录,左边是本机的⽬录,右边是容器中的⽬录,在本机修改内容对应的容器中的⽬录内容也会改变, ⽬录不存在会⾃动创建
查看所有容器
sudo docker container ls #查看所有正在运⾏的容器
sodu docker ps
sudo docker container ls --all # 查看所有已创建的容器
sudo docker ps -a
container id 容器id
image 镜像名称
command 创建后运⾏的命令
created 创建时间
status 关闭时间
ports 绑定的端⼝
names 容器名称
创建⼀个守护式容器
如果对于⼀个需要长期运⾏的容器来说,我们可以创建⼀个守护式容器。在容器内部exit退出时,容器也不会停⽌。即正常来说,进⼊交互伪终端后输⼊exit容器也会对应关闭,但是加了-d 内部使⽤exit也不会结束运⾏
sudo docker run -dit --name=ubuntu2 ubuntu /bin/bash
运⾏已经开启的容器
sudo docker container exec -it <;容器名/id> <;运⾏后使⽤的第⼀个命令>
# 运⾏使⽤的第⼀个命令⼀般默认为 /bin/bash 否则⽆法进⼊交互界⾯
停⽌与启动容器
Container 可以省略
# 停⽌⼀个已经在运⾏的容器
sudo docker container stop 容器名或容器id
# 启动⼀个已经停⽌的容器
sudo docker container start 容器名或容器id
# kill掉⼀个已经在运⾏的容器
sudo docker container kill 容器名
删除容器
sudo docker container rm 容器名或容器id
我们可以通过如下命令将容器保存为镜像
sudo docker commit 容器名镜像名
sudo docker commit ubuntu1 myubuntu  # 将容器名为ubuntu1的容器转换为叫myuntu的镜像,原本的容器并不会删除
我们可以通过save命令将镜像打包成⽂件,拷贝给别⼈使⽤
sudo docker save -o 保存的⽂件名镜像名
sudo docker save -o ./ubuntu.tar ubuntu
在拿到镜像⽂件后,可以通过load⽅法,将镜像加载到本地
sudo docker load -i  <⽂件名>
sudo docker load -i ./ubuntu.tar
容器中交互界⾯安装⽹卡

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。