这篇文章主要讲解了“如何安装和使用Docker”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何安装和使用Docker”吧!
docker的安装非常简单。
下载安装包进行安装。 Docker Desktop for Mac (macOS) Docker Desktop for Windows
有三种方式(根据自身网络情·况任选一种):
使用源进行安装(需要提前设置好源环境)
$ 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
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这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。