温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何安装和使用Docker

发布时间:2021-10-14 14:16:08 来源:亿速云 阅读:114 作者:iii 栏目:编程语言

这篇文章主要讲解了“如何安装和使用Docker”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何安装和使用Docker”吧!

如何安装

docker的安装非常简单。

windows或者mac用户:

下载安装包进行安装。 Docker Desktop for Mac (macOS) Docker Desktop for Windows

linux用户(以ubuntu为例):

有三种方式(根据自身网络情·况任选一种):

  • 使用源进行安装(需要提前设置好源环境)

 $ sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 下载离线包进行安装(https://download.docker.com/linux/ubuntu/dists/)

$ sudo dpkg -i /path/to/package.deb
  • 使用在线脚本安装

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

基本使用

所有的docker命令,都先以docker起头,然后空格并跟上子命令执行相应的操作。 详细的命令行文档参见官网:https://docs.docker.com/engine/reference/commandline/cli/

启动一个容器

run 表示启动,并需要指定一个镜像文件,docker以该镜像文件作为模版启动一个容器。

$ docker run -d -p 80:80 docker/getting-started
  • -d 表示后台运行

  • -p 80:80 表示端口映射 将本地80端口,映射到容器的80端口

  • docker/getting-started 使用的镜像文件(此镜像是官网提供的教程镜像,启动后可以在浏览器中打开 http://localhost/tutorial/ 进入docker新手教程)

查看运行中的容器

ps 查看运行中的容器,每个运行的容器都会有一个containerId,类似linux的ps命令返回的pid。

$ docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS         PORTS                NAMES
8234ab6bc530   docker/getting-started   "/docker-entrypoint.…"   11 seconds ago   Up 9 seconds   0.0.0.0:80->80/tcp   hopeful_hamilton
  • -a 表示all, 查看所有,包括已经停止的

停止一个容器

stop 停止一个容器,需要一个containerId指明停止哪个容器。并且stop命令是幂等的,可以认为该命令告诉docker引擎,保持指定的容器处于停止状态。

$ docker stop 8234ab6bc530

此时再使用ps查看容器会发现该容器已经停止,可以看到该容器的status为Exited (0)。

$ docker ps -af 'id=8234ab6bc530'
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                     PORTS     NAMES
8234ab6bc530   docker/getting-started   "/docker-entrypoint.…"   19 minutes ago   Exited (0) 3 minutes ago             hopeful_hamilton
  • -af 是 -a(--all)表示所有 和 -f(--filter)表示按条件过滤的组合,'id=8234ab6bc530'是-f的参数,表示只要id为8234ab6bc530的容器。

启动一个已停止的容器

start 可以启动一个已停止的容器,需要一个containerId指明具体容器。和stop命令一样start命令也是幂等的,可以认为该命令告诉docker引擎,保持指定的容器处于启动状态。

$ docker start 8234ab6bc530
8234ab6bc530
删除一个容器

rm 用于删除一个指定的容器,但是不允许删除一个运行中的容器。

$ docker rm 8234ab6bc530
Error response from daemon: You cannot remove a running container 8234ab6bc530fa180da8a42b4c232761f604913c0adde06868dcd63bda841b37. Stop the container before attempting removal or force remove

所以需要先停止,再删除

$ docker stop 8234ab6bc530
8234ab6bc530
$ docker rm 8234ab6bc530
8234ab6bc530
附录A 常用命令说明
  • docker run : 创建一个新的容器并运行一个命令 参数:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷
  • docker exec : 在运行的容器中执行命令 参数:

-d :分离模式: 在后台运行

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端
  • docker cp : 用于容器与主机之间的数据拷贝。 参数:

-L :保持源目标中的链接
  • docker logs : 获取容器的日志 参数:

-f : 跟踪日志输出

--since :显示某个开始时间的所有日志

-t : 显示时间戳

--tail :仅列出最新N条容器日志
  • docker build : 用于使用 Dockerfile 创建镜像

--build-arg=[] :设置镜像创建时的变量;

--cpu-shares :设置 cpu 使用权重;

--cpu-period :限制 CPU CFS周期;

--cpu-quota :限制 CPU CFS配额;

--cpuset-cpus :指定使用的CPU id;

--cpuset-mems :指定使用的内存 id;

--disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

--force-rm :设置镜像过程中删除中间容器;

--isolation :使用容器隔离技术;

--label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

--no-cache :创建镜像的过程不使用缓存;

--pull :尝试去更新镜像的新版本;

--quiet, -q :安静模式,成功后只输出镜像 ID;

--rm :设置镜像成功后删除中间容器;

--shm-size :设置/dev/shm的大小,默认值是64M;

--ulimit :Ulimit配置。

--squash :将 Dockerfile 中所有的操作压缩为一层。

--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

--network: 默认 default。在构建期间设置RUN指令的网络模式

感谢各位的阅读,以上就是“如何安装和使用Docker”的内容了,经过本文的学习后,相信大家对如何安装和使用Docker这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI