Docker实战之容器基础命令系列
docker基本命令及搭建php环境

docker基本命令及搭建php环境docker 容器基本命令列出所有的容器 IDdocker ps -aq停⽌所有的容器docker stop $(docker ps -aq)删除所有的容器docker rm $(docker ps -aq)删除所有的镜像docker rmi $(docker images -q)查看容器IPdocker inspect 容器ID查看容器⽇志docker logs 容器ID容器⾃动重启docker container update --restart=always NAMES(容器名称)复制⽂件docker cp mycontainer:/opt/file.txt /opt/local/docker cp /opt/local/file.txtmycontainer:/opt/现在的docker有了专门清理资源(container、image、⽹络)的命令。
docker 1.13 中增加了docker system prune的命令,针对container、image可以使⽤docker container prune、docker image prune命令。
删除所有不使⽤的镜像docker image prune --force --alldocker image prune -f -a删除所有停⽌的容器docker container prune:进⼊容器内docker exec -it 容器名称或id /bin/bash----------------------------------------------------docker 搭建 nginx + mysql + php-fpmdocker 安装phpdocker pull php:7.2-fpmdocker images运⾏phpdocker run -p 9000:9000 -d --name myphp-fpm -v /docker/www:/www php:7.2-fpm查看状态docker ps –a进⼊正在运⾏的php容器docker exec -it myphp-fpm bashdocker php安装扩展进⼊容器内 pecl install安装redis pecl install -o -f redis rm -rf /tmp/pear docker-php-ext-enable redis安装nginx1.搜索nginxdocker search nginx2.拉取nginxdocker pull docker.io/nginx3.查看是否下载成功docker images4.启动nginxdocker run -p 80:80 -d --name mynginx -v /docker/www:/www nginx <br>docker run --name mynginx -p 80:80 -p 443:443 -v /docker/www:/www -v /docker/nginx/conf/vhosts/:/etc/nginx/conf.d --link myphp7.2:php -d docker.io/nginx:latest -p 80:80:将容器的80端⼝映射到主机的80端⼝-p 443:443:将容器的443端⼝映射到主机的443端⼝-v /docker/www:/www 将容器/www⽬录映射到宿主机的/docker/www/下-v /docker/nginx/conf/vhosts/:/etc/nginx/conf.d 将容器/虚拟主机配置⽬录映射到宿主机的/docker/nginx/conf/vhosts/下等-d 后台运⾏(守护进程) --name mynginx:将容器命名为mynginx容器互连,互相通讯,如果不配置则nginx⽆法使⽤docker php--link 容器名称 myphp7.2:php5.查看是否开启成功docker ps –a搭建成功,可以运⾏⼀下查看是否 Nginx启动成功6.重启nginxdocker ps -a 查看容器iddocker restart e14c6641077b错误:ngnix 报错 403 是因为没有挂载⽬录权限chcon -Rt svirt_sandbox_file_t /docker/wwwdocker 使⽤composer 管理docker pull composerdocker run -it -v /docker/www:/app composer:latest composer install/docker/www 是本地需要使⽤composer 的路径/app 固定路径docker 启动mysqlsudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root-d mysql:5.7 docker 启⽤redisdocker run -p 6379:6379 --name myredis redis:latest -d redis-serverdocker 安装rabbitmq 外⽹不能访问执⾏rabbitmq-plugins enable rabbitmq_management。
Docker系列二:docker常用命令总结

Docker系列⼆:docker常⽤命令总结容器⽣命周期管理1.docker run创建⼀个新的容器并运⾏⼀个命令docker run [options] image [command] [arg...]-a stdin:指定标准输⼊输出内容类型,可选STDIN/STDOUT/STDERR-d: 后台运⾏容器,并返回容器ID-i: 以交互式运⾏容器,通常与-t同时使⽤-p: 端⼝映射,格式为主机(宿主)端⼝:容器端⼝-t: 为容器重新分配⼀个伪输⼊终端,通常与-i同时使⽤--name="name": 为容器指定⼀个名称--dns 8.8.8.8: 为容器指定⼀个dns服务器,默认与宿主⼀致--dns-search domain:为容器指定⼀个DNS域名,默认与宿主⼀致-h "hostname": 指定容器的hostname-e arg="value": 设置环境变量-env-file=[]:从指定⽂件读⼊环境变量--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定的cpu运⾏-m: 设置容器使⽤内存最⼤值--net="bridge": 指定容器的⽹络连接类型,⽀持bridge/host/none/container四种类型--link=[]:添加链接到另外⼀个容器--expose=[]:开放⼀个端⼝或⼀组端⼝,宿主机使⽤随机端⼝映射到开放的端⼝#实例docker run --name mynginx -d nginx:latest# 映射多个端⼝docker run -p 80:80/tcp -p 90:90 -v /data:/data -d nginx:latestdocker run -p 127.0.0.1:80:8080/tcp ubuntu bashdocker run -it nginx:latest /bin/bash2.start/stop/restart命令启动/关闭/重启容器docker start/stop/restart [options] container [container...]3.kill命令杀掉⼀个运⾏中的容器-s:向容器发送⼀个信号docker kill -s KILL mynginx4.rm命令删除⼀个或多个容器-f:通过SIGKILL信号强制删除⼀个运⾏中的容器-l:移除容器间的⽹络连接,⽽⾮容器本⾝-v:-v删除与容器关联的卷docker rm -f db01 db02docker rm -l dbdocker rm -v nginx015.pause/unpause命令pause暂停,unpause恢复docker pause [OPTIONS] CONTAINER [CONTAINER...]docker unpause [OPTIONS] CONTAINER [CONTAINER...]6.create命令创建⼀个容器,但不启动它(⽤法类似docker run)docker create --name mynginx nginx:latest7.exec命令docker exec:在运⾏的容器中执⾏命令-d:分离模式:在后台运⾏-i:及时没有附加也保持STDIN打开-t:分配⼀个伪终端docker exec -it mynginx /bin/bash /root/secript.shdocker exec -i -t mynginx /bin/bash # 使⽤该命令可以分配⼀个伪终端执⾏命令, 使⽤exit推出时,docker容器不会⾃动关闭容器操作1.PS列出容器-a: 显⽰所有容器,包括未运⾏的-f: 根据条件过滤显⽰的内容--format: 指定返回值的模板⽂件-l: 显⽰最近创建的容器-n: 列出最近创建的n个容器--no-trunc: 不截断输出-q: 静默模式,值显⽰容器编号-s: 显⽰总⽂件⼤⼩docker psdocker ps -n 5docker ps -a -q2.inspect获取容器/镜像的元数据-f: 指定返回值的模板-s: 显⽰总的⽂件⼤⼩--type: 为指定类型返回JSONdocker inspect mysql:5.6docker inspect --format='{{range works}}{{.IPAddress}}{{end}}' mymysql3.top查看容器中运⾏的进⾏信息,⽀持ps命令参数docker top [options] container [ps options]docker top mymysql4.attach连接到运⾏中的容器docker attach [options] container# --sig-proxy=false加上参数容器还是会退出(通过ctrl+D退出容器)docker attach --sig-proxy=false mynginx5.events从服务器获取实时时间(监听)-f: 根据条件过滤事件--since:从指定的时间戳后显⽰所有事件--until:流⽔时间显⽰到指定的时间为⽌如果不加任何参数,监听当前事件docker events6.logs获取容器的⽇志(容器中输出到STDOUT,STDERR中的⽇志)-f: 跟踪⽇志输出--since: 显⽰某个时间开始的所有⽇志-t: 显⽰时间戳--tail: 仅列出最新n条容器⽇志docker logs -f mynginx7.wait阻塞运⾏直到容器停⽌,然后打印它的退出代码docker wait container8.export将容器的⽂件系统作为⼀个tar归档⽂件导出到stdoutdocker export -o mysql-`data +%Y%m%d`.tar a404c6c174a29.port列出指定的容器的端⼝映射或者查找将PRIVATE_PORT NAT到⾯向公众的端⼝docker port mysql10.update更新容器的⼀些配置(内存,cpu,是否⾃动启动), 修改内存时,虚拟机必须是关机状态,否则报错未知参数root@bogon:~# docker update --helpUsage: docker update [OPTIONS] CONTAINER [CONTAINER...]Update configuration of one or more containersOptions:--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) --cpu-period int Limit CPU CFS (Completely Fair Scheduler) period--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota--cpu-rt-period int Limit the CPU real-time period in microseconds--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds-c, --cpu-shares int CPU shares (relative weight)--cpus decimal Number of CPUs--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)--kernel-memory bytes Kernel memory limit-m, --memory bytes Memory limit--memory-reservation bytes Memory soft limit--memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap--restart string Restart policy to apply when a container exitsroot@bogon:~# docker update --memory-swap 10240000 -m 10240000 portainer容器rootfs命令mit从容器创建⼀个新的镜像-a: 提交的镜像作者-c: 使⽤dockerfile指令来创建镜像-m: 提交时的说明⽂字-p: 在提交时,将容器暂停docker commit -a "" -m "my apache" a404c6c174a2 myapache:v12.cp⽤于容器和主机之间的数据拷贝docker cp [options] container:src_path dest_pathdocker cp [options] src_path container:dest_pathdocker cp /www/runoob 96f7f14e99ab:/www/docker cp 96f7f14e99ab:/www/ /www/runoob3.diff检查容器⾥⽂件结构的修改docker diff [options] containerdocker diff mymysql镜像仓库1.login/logout登陆docker hub公共仓库(需要⾃⼰去注册)docker login [options] [server]docker logout [options] [server]-u: 登陆的⽤户名-p: 登陆的密码2.pull从镜像仓库中拉取或更新指定镜像docker pull [options] name[:tag|@DIGEST]-a: 拉取所有tagged镜像--disable-content-trust: 忽略镜像的校验,默认开启# 下载最新版java镜像docker pull java3.push将本地镜像上传到镜像仓库,要先登陆到镜像仓库docker push [options] name[:tag]--disable-content-trust: 忽略镜像的校验,默认开启docker push myapache:v14.search在docker hub查找镜像docker search [options] term--automated: 只列出automated build类型的镜像--no-trunc: 显⽰完整的镜像描述-s: 列出收藏数⼩于指定值的镜像docker search -s 10 java本地镜像管理1.images列出本地镜像docker images [options] [repository:tag]-a: 列出本地所有镜像(含中间映像层,默认过滤中间映像层) --digests: 显⽰镜像的摘要信息(MD5值)-f: 显⽰满⾜条件的镜像--format: 指定返回值的模版⽂件--no-trunc: 显⽰完整的镜像信息-q: 只显⽰镜像IDdocker imagesdocker images ubuntu2.rmi删除本地⼀个或多个镜像-f:强制删除--no-prune: 不移除该镜像的过程进⾏,默认移除docker rmi -f runoob/ubuntu:v43.tag标记本地镜像,将其归⼊某⼀个仓库# 把镜像ubuntu:15.10标记为runoob/ubuntu:v3 docker tag ubuntu:15.10 runoob/ubuntu:v34.build⽤于使⽤dockerfile创建镜像(后⾯会讲解到) docker build [options] path | url | -5.history查看指定镜像的创建历史docker history [options] image-H: 以可读的格式打印镜像⼤⼩和⽇期,默认为true--no-trunc: 显⽰完整的提交记录-q: 仅列出提交记录ID6.save将指定镜像保存成tar归档⽂件docker save [options] image [image ...]-o: 输出⽂件docker save -o my_ubuntu_v3.tar runoob/ubuntu:v37.import从归档⽂件中创建镜像docker import [options] file |URL |- [repository:tag] docker import my_ubuntu_v3.tar runoob/ubuntu:v4info/version显⽰docker系统信息,包括镜像和容器数docker info [options]docker info2.version显⽰docker版本信息docker version [options]-f: 指定返回值的模板⽂件docker version其他stats查看每个运⾏的docker容器的状态docker statsCONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 9c5e0e259466 test02 0.02% 12.46MiB / 100MiB 12.46% 1.3kB / 0B 19.2MB / 16.4kB 2d5183228b334 test01 0.02% 12.55MiB / 100MiB 12.55% 1.04kB / 0B 7.59MB / 16.4kB 2。
docker系列-基础镜像环境和Docker常用命令整理

docker系列-基础镜像环境和Docker常⽤命令整理在hub官⽹会经常能看到 alpine 字样, alpine 是要给⾮常轻量级的Linux发⾏版,Docker官⽅已经推荐使⽤alpine 代替之前的 Ubuntu作为基础镜像环境, 好处是制作出的最终镜像⽂件很多, 但docker dub上⽬前仍以 Ubuntu 为主流的基础镜像环境.=======================⽤于 docker 命令学习的镜像和命令=======================下⾯镜像常⽤于 docker 命令学习docker pull nginx:1.15-alpine #只需要20M的空间docker pull busybox #只占⽤2M空间以守护态运⾏容器, 经常⽤于容器的学习.docker run -d --name mybusybox busybox /bin/sh -c "while true; do echo hello world; sleep 1; done"使⽤镜像nginx:1.15-alpine以后台模式启动⼀个容器, 并将容器的80端⼝映射到主机随机端⼝(80是该镜像expose的端⼝)docker run -P -d --name mynginx1 nginx:1.15-alpine使⽤镜像nginx:1.15-alpine以后台模式启动⼀个容器, 指定主机的端⼝为 80docker run -p 80:80 -d --name mynginx2 nginx:1.15-alpine=======================docker 容器端⼝映射=======================1. 指定host端⼝和容器内端⼝使⽤镜像nginx:1.15-alpine以后台模式启动⼀个容器, 指定主机的端⼝为80, 冒号前的host端⼝, 冒号后为容器内部的端⼝.docker run -p 80:80 -d --name mynginx2 nginx:1.15-alpine2. 容器内端⼝随机分配⼀个Host端⼝下⾯ -p 参数的 80 指的是容器内部的端⼝, 没有指定host端⼝, docker在主机上⾃动开放⼀个映射端⼝(当然是未被占⽤的), ⾃动端⼝号⼀般⼤于等于 32768 .docker run -p 80 -d --name mynginx2 nginx:1.15-alpine3. ⾃动为所有的 Dockerfile EXPOSE 端⼝映射Host端⼝Dockerfile EXPOSE 可能会开放多个端⼝, 使⽤ -P 参数将⾃动为这些容器内部端⼝分配对应的Host主机端⼝docker run -P -d --name mynginx1 nginx:1.15-alpine=======================docker 的⼀些常⽤命令=======================docker images 命令, 显⽰可⽤的容器docker rmi <镜像Id> 命令,删除指定镜像docker pull hello-world 命令 , 下载 hello-world imagedocker rmi <镜像Id> 命令,删除指定镜像docker ps 命令, 列出当前正在运⾏的容器, 结果的第⼀列是container_Id, 第2列是容器名称.docker ps -a 命令, 列出当前正在运⾏的和之前运⾏完的容器docker stop container_id/container-name 命令, 停⽌指定的容器, 该容器Id或名称可以从docker ps中获取.docker restart container_id/container-name 命令, 重新启动指定的容器, 该容器Id或名称可以从docker ps中获取.docker start container_id/container-name 命令, 启动指定的容器, 该容器Id或名称可以从docker ps中获取.docker rm container_id/container-name, 删除指定的容器docker rm $(docker ps -a -q) 命令, 删除所有运⾏结束了容器, 正在运⾏的容器不会被删除docker top container_id/container-name, 查看容器内的进程docker logs [-f] [-t] [--tail string] 容器名, 查看容器的⽇志输出, -f是打开跟踪, -t是加上时间戳, --tail 100 表⽰仅显⽰最后的100⾏⽇志docker search nginx, 在hub站点中搜索 nginx 镜像docker image inspect image_id 命令, 显⽰指定镜像的详细信息.docker container inspect container_id/container-name 命令, 显⽰指定容器的详细信息,包括容器的Ipdocker images -f dangling=true 命令, 列出没有被容器化的镜像docker rmi $(docker images -qf dangling=true) 命令, 删除那些没有被容器化的镜像docker system df 命令, 可以⼀次性查看镜像/容器/host volume的磁盘占⽤情况.docker ps -s 命令, 输出容器的空间占⽤=======================docker ⼀些管理命令集=======================除了上⾯常⽤的命令外, docker 还有⼀些管理命令集, 这些命令集还可以包含⼆级命令:config Manage Docker configscontainer Manage containersimage Manage imagesnetwork Manage networksnode Manage Swarm nodesplugin Manage pluginssecret Manage Docker secretsservice Manage servicesstack Manage Docker stacksswarm Manage Swarmsystem Manage Dockertrust Manage trust on Docker imagesvolume Manage volumes⽐较常⽤的是,docker image build, 编译 Dockfiledocker network create, 创建 docker ⽹络docker volume create, 创建数据卷=======================docker run/exec 命令=======================运⾏ hello-world 容器, 如果本地没有下载, 将会⾃动从hub站点下载.docker run hello-world 命令以守护态运⾏容器docker run -d --name mybusybox busybox /bin/sh -c "while true; do echo hello world; sleep 1; done"登陆⼀个容器, 运⾏中的容器其实是⼀个功能完备的Linux操作系统, 所以我们可以在登陆该容器执⾏常规的Linux命令.docker exec -it container_id/container-name /bin/bash使⽤ redis-cli 登陆 myredis 容器docker exec -it myredis redis-cliexec 后的 -it 参数的意思是, 以交互的⽅式并分配⼀个伪tty, 经常⼀起联⽤.=======================docker redis 使⽤=======================# 下载最新版的 redis imagedocker pull redis:latest# 简单⽅式启动 redis 服务pull run redisdocker run --name itbilu-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-pass -d mysql:5.7我们就创建了⼀个名为 itbilu-mysql 的MySQL数据库服务器容器实例, 在创建数据库时,通过环境变量MYSQL_ROOT_PASSWORD设置数据库的root密码,还通过5.7标签指定了所使⽤的镜像版本。
Docker的基础命令

Docker的基础命令大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。
在上一期我们初步了解了Docker的强大功能,得益于Docker Desktop,我们可以快速地实现某些常用容器的部署。
但说到底使用Docker还是需要和命令行打交道的,光靠图形界面拯救没有前途。
那么这一期我们就来了解一下docker的基本操作命令。
首先我们回顾一下上一期所说的Docker的基本使用方式,即拉取镜像,构建容器和打包镜像。
这三种操作各有其命令,分别为pull、run和commit。
pull命令这个命令我们在上一期已经使用过它来下载python镜像了:但是是不是有哪里不对?我们没有说下载哪个版本的python,所以这个命令默认给我们下载了最新版本的python。
实际上,我们可以在镜像名后边加上一个冒号,后边写上标签名(tag),这样就可以指定需要下载的镜像版本。
比如想要下载python3.7,就可以编写这样的命令:•从Docker Desktop可以看到python3.7版本的镜像已经下载成功了:此外pull命令有几个参数,可以根据需要进行填写:需要注意参数前的横杠是一道还是两道。
一个字母前的只有一道横杠,为缩写参数,多个字母前的为两道横杠,为全拼参数。
在pull命令中,参数应位于pull和容器名之间。
比如想要下载python的全部版本,可以编写这样的命令:•run命令run命令虽然看起来只是运行容器的命令,但实际上隐含了很多操作。
所以run命令非常重要,相关的参数也非常多。
我们现在先看一些比较常用也比较重要的命令运行方法。
run命令最基本的构成就是镜像名。
比如我们需要运行一个以python3.7为基础的容器,就可以编写这样的命令:•如果在此之前你没有使用pull命令拉取镜像,你就会发现执行了run命令后也会自动拉取镜像。
所以如果没有特殊的要求我们其实可以直接使用run命令实现拉取镜像和构建运行容器一条龙操作。
【Docker系列】docker学习二,Docker的常用命令

【Docker系列】docker学习二,Docker的常用命令基本帮助命令# 查看 docker 的基本版本信息docker version# 查看 docker 的系统信息,如镜像和容器数量docker info# 查看某个命令的帮助docker xx命令 --help咱们可以看官方的帮助文档:/reference/image镜像命令docker images 查看镜像Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]查看本机上的镜像# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 1318b700e415 5 days ago 72.8MB hello-world latest d1165f221234 4 months ago 13.3kB 关键字解释REPOSITORY 仓库源TAG 镜像标签IMAGE ID 镜像 IDCREATED 创建时间SIZE 镜像大小可选参数:Options:-a, --all 显示所有的镜像-q, --quiet 只显示镜像IDdocker search 搜索镜像搜索 redis 为例# docker search redisNAME DESCRIPTION STARS OFFICIAL AUTOMATEDredis Redis is an open source key-value storethat… 9734 [OK]sameersbn/redis 83 [OK]grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0,6.2 78rediscommander/redis-commander Alpine image for redis-commander - Redis man… 63 [OK]加上参数过滤 STARS 大于 2000 的镜像# docker search redis -f STARS=2000NAME DESCRIPTION STARS OFFICIAL AUTOMATEDredis Redis is an open source key-value store that (9734)[OK]我们也可以在 dockerhub 上面直接在页面上搜索镜像image搜索到的结果和使用命令搜索的结果一致imagedocker pull 下载镜像docker pull [OPTIONS] NAME[:TAG|@DIGEST]下载 redis 镜像为例# docker pull redisUsing default tag: latest # 默认拉最新版本latest: Pulling from library/redis # redis 的库33847f680f63: Pull complete # 分层下载26a746039521: Pull complete18d87da94363: Pull complete5e118a708802: Pull completeecf0dbe7c357: Pull complete46f280ba52da: Pull completeDigest:sha256:cd0c68c5479f2db4b9e2c5fbfdb7a8acb77625322dd5b47 4578515422d3ddb59 # 签名Status: Downloaded newer image for redis:latestdocker.io/library/redis:latest # redis 真实下载地址因此上述的下载操作docker pull redis 与 docker pull docker.io/library/redis:latest 一致dockerhub 上面可以查看到 redis 支持的版本image我们下载一个 6 版本的 redis# docker pull redis:66: Pulling from library/redisDigest:sha256:cd0c68c5479f2db4b9e2c5fbfdb7a8acb77625322dd5b47 4578515422d3ddb59Status: Downloaded newer image for redis:6docker.io/library/redis:6可以看到下载版本 6 的 redis 的时候,没有分层下载了,说明在上述看到的分层下载他们是共用的查看刚才的安装的镜像docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE redis 6 aa4d65e670d6 8 days ago 105MBredis latest aa4d65e670d6 8 days ago 105MB hello-world latest d1165f221234 4 months ago 13.3kB docker rmi 删除镜像•删除单个镜像docker rmi -f 容器ID•删除多个镜像docker rmi -f 容器ID 容器ID 容器ID•删除全部镜像docker rmi -f $(docker images -q)容器命令容器是基于镜像创建的,我们来下载一个 ubuntu 镜像docker pull ubuntudocker run 新建并启动容器docker run [参数] 镜像名字 [指令] [参数]常用参数说明:--name="xxx" # 运行容器的名字-d # 后台方式运行-it # 交互的方式运行-p # 指定容器的端口号例如 -p 6379:6380常用的操作有 -p 主机端口:容器端口-P # 随机指定端口号启动容器里面的ubuntu,通过主机名字,我们已经可以看出来主机切换了root@iZuf66y3tuzn4wp3h02t7pZ:~# docker run -it ubuntu/bin/bashroot@87fb04e2a6e7:/#退出容器•键入 exit命令,容器会退出•使用快捷键 Ctrl + P + Q ,回到主机,容器不会退出docker ps 查看容器docker ps [OPTIONS]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES73f951b70438 ubuntu "/bin/bash" 2 minutes ago Up 2 minutes vigorous_buck87fb04e2a6e7 ubuntu "/bin/bash" 7 minutes ago Exited (0) 3 minutes ago flamboyant_tu 可选参数:# 查看正在运行的容器-a # 查看运行过的容器-n=xx # 查看运行过的前 xx 个容器-s # 查看容器运行的大小-q # 查看容器 IDdocker rm 删除容器docker rm 容器ID # 删除未运行的容器docker rm -f 容器ID # 强制删除正在运行的容器docker rm -f $(docker ps -aq) # 删除所有容器docker ps -aq | xargs docker rm # 删除所有容器start,restart,stop,kill 开启,重启,停止,强制停止容器docker start 容器IDdocker restart 容器IDdocker stop 容器IDdocker kill 容器ID常用其他命令docker run -d 后台启动容器# 后台启动一个 ubuntudocker run -d ubuntu# 查看运行的容器docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES发现没有容器正在运行原因如下:•docker 后台启动服务,需要有一个前台的进程,否则docker 发现没有应用,则会将该服务停止我们主动加一个前台进程,看看效果# 临时加上一个前台进程docker run -d ubuntu /bin/bash -c "while true;do echo xiaozhupeiqi;sleep 2;done"# 查看正在运行的容器docker psCONTAINER ID IMAGE COMMAND10ba0e687434 ubuntu "/bin/bash -c 'while…"可以看出,docker ps 命令已经可以查看到正在运行的容器了,OKdocker logs 查看日志docker logs [参数] 容器IDOptions:-f # 和输出保持一致-n # 输出最近的几行-t # 打印时间戳查看上述容器的日志# docker logs -tf -n 5 10ba0e6874342021-08-01T08:02:51.380512218Z xiaozhupeiqi2021-08-01T08:02:53.381606198Z xiaozhupeiqi2021-08-01T08:02:55.382780869Z xiaozhupeiqi2021-08-01T08:02:57.383890580Z xiaozhupeiqi2021-08-01T08:02:59.384977473Z xiaozhupeiqi2021-08-01T08:03:01.386430484Z xiaozhupeiqidocker top 查看容器中进程信息docker top 容器ID# docker top 10ba0e68743UID PID PPID CMDroot 11101 11073 bin/bash -c while true;do echo xiaozhupeiqi;sleep 2;doneroot 11504 11101docker inspect 查看镜像元数据docker inspect 容器 ID输出信息中省略了大量信息[{"Id":"10ba0e6874341b2e2f002c22613a71223ca981dc36df0d1ea4ed3bb5a7a6c58e","Created": "2021-08-01T07:57:52.725305443Z","Path": "/bin/bash","Args": ["-c","while true;do echo xiaozhupeiqi;sleep 2;done"],"State": {...},..."GraphDriver": {...},"Mounts": [],"Config": {"Hostname": "10ba0e687434",..."Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin :/bin"],"Cmd": ["/bin/bash","-c","while true;do echo xiaozhupeiqi;sleep 2;done"],"Image": "ubuntu",...},"NetworkSettings": {...}}]docker exec 进入当前运行的容器docker exec [参数] 容器 ID 指令[指令的参数]# docker exec -it 10ba0e687434 /bin/bashroot@10ba0e687434:/# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 08:04 ? 00:00:00 /bin/bash -c while true;do echo xiaozhupeiqi;sleep 2;doneroot 922 0 0 08:34 pts/0 00:00:00 /bin/bashroot 963 0 0 08:35 pts/1 00:00:00 /bin/bashroot 972 1 0 08:35 ? 00:00:00 sleep 2root 973 963 0 08:35 pts/1 00:00:00 ps -efdocker attach 进入容器中正在执行的程序docker attach 容器IDdocker attach 10ba0e687434docker exec 和 docker attach 的区别•docker exec进入容器,会新开一个终端,可以正常操作•docker attach进入容器正在执行的终端,不会启动新的终端docker cp 将容器内文件拷贝到主机内docker cp 容器ID:容器文件路径主机路径# 进入容器,在容器的/home 目录下建一个文件xiaomotong.godocker exec -it 10ba0e687434 /bin/bashcd /home/touch xiaomotong.go# Ctrl + P + Q 退出容器# 将容器内文件拷贝到主机内docker cp 10ba0e687434:/home/xiaomotong.go ./docker stats 查看 docker 内服务内存状态# docker statsCONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS2772a4050157 nginx1 0.00% 3.02MiB / 1.946GiB 0.15% 25.8kB / 33.1kB 0B / 8.19kB 310ba0e687434 loving_bohr 0.00% 4.07MiB / 1.946GiB 0.20% 810B / 0B 1.95MB / 0B 5总结关于 docker 的命令还是非常的多,大家可以尝试按照下面的图梳理了一下常用的命令列表,便于查询,如下图片来源于网络,仅供学习使用image参考资料:docker docs。
Docker最常用的镜像命令和容器命令详解

[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 7 months ago 13.3kB
docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7 # 多目录挂载 docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
查看目录挂载关系 通过 docker volume inspect 数据卷名称 可以查看该数据卷对应宿主机的目录地址。
# 删除指定容器 docker rm 容器名称|容器ID # 删除多个容器 docker rm 容器名称|容器ID 容器名称|容器ID
之前给大家介绍过,感兴趣的朋友可以参考下! 到此这篇关于Docker 最常用的镜像命令和容器命令详解的文章就介绍到这了,更多相关Docker镜像命令和容器命令内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
docker ps -l
创建与启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-i:表示运行容器; -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端; --name:为创建的容器命名; -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上; -d:在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建容器后就会自动进容器里); -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。 -P:随机使用宿主机的可用端口与容器内暴露的端口映射。
Docker容器常用命令

Docker容器常用命令下面介绍一些Docker容器中常用的命令。
1) docker container run启动新容器的命令。
该命令的最简形式接收镜像和命令作为参数。
镜像用于创建容器,而命令则是希望容器运行的应用。
docker container run -it ubuntu /bin/bash 命令会在前台启动一个Ubuntu 容器,并运行Bash Shell。
Ctrl-PQ 会断开Shell 和容器终端之间的链接,并在退出后保持容器在后台处于运行(UP)状态。
2) docker container ls用于列出所有在运行(UP)状态的容器。
如果使用-a 标记,还可以看到处于停止(Exited)状态的容器。
3) docker container exec用于在运行状态的容器中,启动一个新进程。
该命令在将Docker 主机Shell 连接到一个运行中容器终端时非常有用。
docker container exec -it <container-name or container-id> bash 命令会在容器内部启动一个Bash Shell 进程,并连接到该Shell。
为了使该命令生效,用于创建容器的镜像必须包含Bash Shell。
4) docker container stop此命令会停止运行中的容器,并将状态置为Exited(0)。
该命令通过发送SIGTERM 信号给容器内PID 为1 的进程达到目的。
如果进程没有在10s 之内得到清理并停止运行,那么会接着发送SIGKILL 信号来强制停止该容器。
docker container stop 可以接收容器ID 以及容器名称作为参数。
5) docker container start重启处于停止(Exited)状态的容器。
可以在docker container start 命令中指定容器的名称或者ID。
6) docker container rm删除停止运行的容器。
Docker容器的启动和停止命令详解

Docker容器的启动和停止命令详解随着云计算和容器技术的快速发展,Docker作为一种轻量级的虚拟化解决方案,在软件开发和部署中扮演着重要角色。
熟悉Docker容器的启动和停止命令是每个开发者和运维人员必备的技能。
本文将详细介绍常用的Docker容器启动和停止命令。
一、Docker容器的启动1. docker run命令docker run命令是启动Docker容器最常用的命令之一。
其基本语法为:```docker run [OPTIONS] IMAGE [COMMAND] [ARG...]```其中,OPTIONS为一系列的选项,IMAGE是要运行的镜像,COMMAND为在容器中要执行的命令。
- -d选项表示以后台(detached)方式运行容器。
- -p选项指定容器的端口映射,将容器内部端口映射到宿主机的端口上。
- --name选项指定容器的名称,方便管理和识别。
示例:```bashdocker run -d -p 8080:80 --name mycontainer nginx```上述命令将启动一个基于nginx镜像的容器,并将容器的80端口映射到宿主机的8080端口上。
容器将在后台运行,并以mycontainer作为名称。
2. docker start命令当容器已经创建但是处于停止状态时,可以使用docker start命令启动容器。
其语法为:```bashdocker start [OPTIONS] CONTAINER [CONTAINER...]```其中,CONTAINER为要启动的容器的ID或名称。
示例:```bashdocker start mycontainer```上述命令将启动名为mycontainer的容器。
二、Docker容器的停止1. docker stop命令docker stop命令用于停止正在运行的容器。
其基本语法为:```bashdocker stop [OPTIONS] CONTAINER [CONTAINER...]```其中,CONTAINER为要停止的容器的ID或名称。
docker-compose命令

docker-compose命令常⽤命令1、基础命令docker-compose 命令 --help #获得⼀个命令的帮助docker-compose version #查看docker-compose版本信息2、构建、卸载docker-compose up -d C #构建启动某个容器docker-compose down #停⽌并删除所有容器、⽹络、镜像等3、启动、停⽌、重启、删除容器docker-compose stop Cdocker-compose start Cdocker-compose restart Cdocker-compose rm C #删除容器(删除前必须关闭容器,执⾏stop)4、列出所有容器docker-compose ps5、进⼊到容器中docker-compose exec C /bin/bash #登录到容器中6、查看容器的实时⽇志docker-compose logs -f C #查看容器的实时⽇志docker-compose logs --tail10 -f C #查看容器的实时⽇志(从最后10⾏开始)7、列出所有镜像docker-compse images8、检查并查看配置信息docker-compose config #配置错误时,会输出错误信息9、查看各个容器内运⾏的进程docker-compose top10、其它docker-compose build C #构建镜像docker-compose build --no-cache C #不带缓存的构建docker-compose events --json C #以json形式输出容器的⽇志docker-compose pause C #暂停容器docker-compose unpause C #恢复容器注意:以上容器名称使⽤ C 表⽰具体⽰例1、连接docker容器zookeeperdocker-compose exec zookeeper sh登录到容器中后,查看path:zkCli.shls /config/application。
Docker基础命令

将输入内容写到文件 docker export -o mysql-`dat e +%Y%m%d`.t ar cont ainer id
列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
docker port cont ainer id
容器rootfs命令
commit
容器操作
ps
ins pe ct t op at t ach event s logs wait e xport port
列出容器
显示所有容器 包括未运行的 -a
docker ps -a
-f
根据条件过滤显示的内容
--format
指定返回值的模板文件
显示最近创建的容器 -l
docker ps -l
opt ions -n
-s
列出收藏数不小于指定值的镜像
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
输出结果
OFFICIAL: 是否 docker 官方发布
st ars: 类似 Git hub 里面的 st ar,表示点赞、喜欢的意思
AUTOMATED: 自动构建
本地镜像管理
image s
rmi t ag build hist ory save load import
从镜像仓库中拉取或者更新指定镜像
dockeHale Waihona Puke pull imagepull
-a
拉取所有 t agged 镜像
opt ions
--disable-cont ent -t rust
忽略镜像的校验,默认开启
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
10个常用Docker命令及其用法

10个常用Docker命令及其用法Docker是一种轻量级的容器化平台,它具有快速部署、易于管理和可移植性等优势,因而在云计算和应用开发领域得到广泛应用。
学会使用Docker命令是掌握这一技术的基础,下面将介绍10个常用的Docker命令及其用法。
第一个命令是docker run。
这个命令用于在Docker中运行一个容器。
例如,可以使用命令docker run -it ubuntu来启动一个Ubuntu容器,并进入容器的交互式终端。
在终端中,可以执行各种命令和操作。
第二个命令是docker pull。
这个命令用于从Docker镜像仓库中拉取镜像。
例如,可以使用命令docker pull nginx来下载最新版本的NGINX镜像。
拉取镜像后,可以使用docker images命令查看已下载的镜像列表。
第三个命令是docker build。
这个命令用于在本地构建一个新的Docker镜像。
首先,需要编写一个Dockerfile,其中定义了镜像的构建规则和依赖关系。
然后,使用命令docker build -t image_name:tag .来构建镜像,其中image_name是镜像的名称,tag是镜像的标签,"."表示Dockerfile所在的目录。
第四个命令是docker ps。
这个命令用于列出当前正在运行的容器。
默认情况下,只会显示正在运行的容器,使用命令docker ps -a可以显示所有容器(包括已停止的容器)。
通过ps命令,可以查看容器的状态、ID和端口映射等信息。
第五个命令是docker start和docker stop。
这两个命令分别用于启动和停止一个已创建的容器。
例如,使用命令docker start container_id可以启动指定ID的容器,使用命令docker stop container_id可以停止指定ID的容器。
第六个命令是docker exec。
docker命令的基本用法

docker命令的基本用法Docker是一种容器化平台,允许开发人员将应用程序及其依赖打包成一个可移植的容器,以便在不同的环境中进行部署和运行。
以下是一些常见的Docker命令及其基本用法:1. `docker version`:显示Docker版本信息。
2. `docker info`:显示Docker系统相关信息。
3. `docker pull <image>`:从Docker镜像仓库中拉取一个镜像到本地。
4. `docker images`:列出本地已经拉取的所有镜像。
5. `docker run <image>`:在一个新的容器中运行一个镜像。
6. `docker ps`:列出当前正在运行的容器。
7. `docker stop <container>`:停止一个正在运行的容器。
8. `docker rm <container>`:删除一个已经停止的容器。
9. `docker rmi <image>`:删除一个本地的镜像。
10. `docker build -t <tag> <Dockerfile路径>`:根据Dockerfile 构建一个新的镜像。
11. `docker-compose up`:在定义的Docker Compose文件中启动服务。
12. `docker-compose down`:停止在Docker Compose中定义的服务。
13. `docker logs <container>`:查看容器的日志。
14. `docker exec -it <container> <command>`:在正在运行的容器中执行一个命令。
这只是一些常见的Docker命令,还有很多其他命令可以用于Docker容器的管理和操作。
你可以通过运行`docker --help`命令或查阅Docker官方文档来获取更多详细的命令用法和参数说明。
docker容器使用及命令

docker容器使⽤及命令⽂章⽬录Docker 容器使⽤Docker 客户端docker 客户端⾮常简单 ,我们可以直接输⼊ docker 命令来查看到 Docker 客户端的所有命令选项。
$ docker可以通过命令 docker command --help 更深⼊的了解指定的 Docker 命令使⽤⽅法。
例如我们要查看 docker stats 指令的具体使⽤⽅法:$ docker stats --help在此之前需要先启动容器!sudo systemctl start docker容器使⽤获取镜像如果我们本地没有 ubuntu 镜像,我们可以使⽤ docker pull 命令来载⼊ ubuntu 镜像:$ docker pull ubuntu启动容器以下命令使⽤ ubuntu 镜像启动⼀个容器,参数为以命令⾏模式进⼊该容器:$ docker run -it ubuntu /bin/bash参数说明:-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这⾥我们希望有个交互式 Shell,因此⽤的是 /bin/bash。
要退出终端,直接输⼊ exit:$ exit以继承的⽅式启动容器:$ docker run -it --name docker02 --volumes-from docker01 ubuntudocker02继承了docker01后启动,启动以后,docker01和docker02的数据卷是共享的。
即实现了容器之间的数据共享。
案例:实现两个mysql容器的数据同步$ docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql $ docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql启动已停⽌运⾏的容器查看所有的容器命令如下:$ docker ps -a使⽤ docker start 启动⼀个已停⽌的容器:$ docker start 0940e7f3d199后台运⾏在⼤部分的场景下,我们希望 docker 的服务是在后台运⾏的,我们可以过 -d 指定容器的运⾏模式。
使用Docker命令行工具进行容器操作的常用命令

使用Docker命令行工具进行容器操作的常用命令Docker已成为当今软件开发和云计算领域中最受欢迎的虚拟化技术之一。
它为开发者提供了一种快速轻便的方式来构建、打包和部署应用程序。
Docker的命令行工具是每个使用Docker的开发者和系统管理员必备的工具之一。
在本文中,我们将探讨一些常用的Docker命令行工具以进行容器操作。
启动一个容器是使用Docker命令行工具的第一步。
要启动一个新的容器,我们可以使用`docker run`命令。
首先,我们需要指定要运行的镜像名称,例如:`docker run ubuntu`。
这个命令将在本地计算机上下载并启动一个基于Ubuntu操作系统的容器。
如果我们想要运行特定版本的镜像,可以使用标签来指定,例如:`docker run ubuntu:18.04`。
通过`docker ps`命令,我们可以列出正在运行的容器。
这个命令将显示容器的ID、名称、状态和端口映射等信息。
如果我们只想查看正在运行的容器的ID,可以使用`docker ps -q`命令。
如果我们想要查看所有的容器,包括已停止的容器,可以使用`docker ps -a`命令。
停止一个正在运行的容器非常简单,我们可以使用`docker stop`命令。
只需要提供容器的ID或名称,例如:`docker stop 1234`或`docker stop mycontainer`。
如果我们想要停止所有正在运行的容器,可以使用`docker stop $(docker ps -q)`命令。
有时候,我们需要进入一个正在运行的容器来执行一些命令或查看容器的文件系统。
为了进入一个容器,我们可以使用`docker exec`命令。
例如,`docker exec -it mycontainer bash`将以交互模式进入名为mycontainer的容器,并打开一个bash终端。
在容器内部,我们就可以执行任意的命令了。
通过`docker logs`命令,我们可以查看容器的日志信息。
常用Docker必掌握命令及参数

常用Docker必掌握命令及参数Docker Rundocker run命令是从Docker镜像启动容器的门户。
它允许您指定镜像名称、选项和运行时配置。
docker run -d -p 8080:80 nginx-d: 在后台运行容器-p: 将主机端口映射到容器端口Docker Pull在运行容器之前,需要从仓库(如Docker Hub)下载Docker镜像。
docker pull命令可以完成此操作。
docker pull命令会连接到Docker镜像仓库,并下载指定名称的镜像到本地机器。
docker pull ubuntu:latest基本语法是:docker pull [选项] [Docker Registry地址]<仓库名>:<标签>例如:docker pull ubuntu:20.04这会下载官方ubuntu仓库中标签为20.04的镜像。
docker pull 是一个非常重要的命令,它为后续的docker run提供所需要的镜像。
掌握该命令可以获取最新的镜像来创建容器。
Docker PS查看正在运行的容器列表,可以使用docker ps 命令。
它提供了容器的ID、名称、状态以及端口信息。
如果要查看所有的容器,包括已停止的,可以使用docker ps -a。
docker psdocker ps 命令的常见用法:•docker ps -列出正在运行的容器•docker ps -a -列出所有容器(运行中的和已停止的)•docker ps -q -只列出容器的ID•docker ps -s -显示文件大小•docker ps --no-trunc -不截断输出•docker ps -f 'name=xxx' -根据条件过滤掌握docker ps 可以很方便地查看当前系统中的容器信息。
它是确认容器运行状态极为重要的一个命令。
可以根据不同的需求组合使用各种参数和过滤条件,来查看指定的容器。
Docker容器的基本操作指南

Docker容器的基本操作指南Docker是一种流行的容器化技术,能够帮助开发人员简化应用程序的部署和管理过程。
本文将为您提供Docker容器的基本操作指南,帮助您快速上手使用Docker。
1. 安装Docker首先,您需要安装Docker引擎以在本地主机上运行和管理容器。
根据您的操作系统,可以从Docker官方网站下载并安装适当版本的Docker引擎。
安装完成后,您可以通过在终端中输入“docker version”命令来验证安装是否成功。
2. 拉取Docker镜像Docker镜像是Docker容器的基本构建块。
您可以通过使用“docker pull”命令从Docker镜像仓库中拉取所需的镜像。
例如,要拉取官方的Ubuntu镜像,您可以执行以下命令:docker pull ubuntu。
3. 运行Docker容器一旦您已经拉取了所需的Docker镜像,您可以使用“docker run”命令来运行容器。
例如,要运行一个基于Ubuntu镜像的容器,您可以执行以下命令:docker run -it ubuntu /bin/bash。
这将在您的终端中打开一个新的交互式Shell会话,并将其连接到正在运行的Ubuntu容器。
4. 查看正在运行的容器您可以使用“docker ps”命令来查看当前正在运行的容器。
该命令将列出容器的ID、名称、状态、创建时间等信息。
如果您想查看所有容器(包括停止的容器),可以添加“-a”选项。
5. 进入正在运行的容器要进入已经在运行的容器中,可以使用“docker exec”命令。
例如,要进入一个名为my_container的容器,可以执行以下命令:docker exec -it my_container/bin/bash。
这将在容器中打开一个新的交互式Shell会话。
6. 停止容器要停止正在运行的容器,您可以使用“docker stop”命令,后跟容器的ID或名称。
例如,要停止ID为123456的容器,可以执行以下命令:docker stop 123456。
Docker容器基本操作命令(上)

Docker容器基本操作命令(上)查看当前Docker宿主机的基本信息如果我们想查看docker程序是否存在,功能是否正常的话,我们可以使⽤docker info 命令来查看docker程序的基本信息。
$ sudo docker info在这⾥我们调⽤了docker可执⾏程序的info命令,该命令会返回所有的容器与镜像(镜像即是Docker⽤来构建容器的构建块(类似于虚拟机中iso镜像⽂件))的数量、Docker使⽤的执⾏驱动和存储驱动、以及docker 的基本配置。
创建/运⾏Docker容器的命令(重点!)话不多说,直接上⼲货。
docker run 命令提供了Docker容器的创建到启动的功能。
例如,我们可以创建⼀个带有centos系统的容器。
命令如下:$ sudo docker run -i -t centos /bin/bash现在,让我们详细解释⼀下上⾯docker命令的⽤途。
⾸先,我们告诉了Docker执⾏了docker run 命令,并指定了 -i 和 -t 两个命令⾏参数。
-i 标志保证了容器当中STDIN 是开启的,尽管我们没有附着到容器中。
(关于附着容器,会在接下来不久进⾏说明)。
持久的标准输⼊是交互式Shell的半边天。
(因为,没有输⼊流Shell是接收不到命令的), -t 标志则是另外⼀个半边天,他告诉Docker为要创建的容器分配⼀个伪tty终端。
这样,新创建的容器才能提供⼀个交互式Shell。
(如果说我们要创建⼀个运⾏在后台的容器,则就不需要交互式Shell了。
这部分的内容后⾯会详细说到)并且,centos 代表这个容器是基于centos镜像进⾏创建的,那就代表着这个容器创建之后,⾥⾯的操作系统是centos系统。
当然,容器创建之后的操作系统取决于这个容器是基于什么镜像创建的。
并且,centos 镜像是⼀个常备镜像,也可以成为基础镜像,它是由docker公司提供的。
保存在Docker Hub Registry 上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从Docker到Kubernetes 第2周
Docker实战之容器基础命令系列
Docker的部署安装Docker配置文件与日志Docker基础命令讲解
Docker 采用Linux (内核)技术,所以只能运行在Linux 上,官方说Linux kernel 至少3.8以上
Boot2Docker 是一个专为Docker
而设计的轻量级Linux 发型包 Windows Mac Linux VM
开发、测试环境(个人)
Centos Ubuntu
Docker Native
CoreOS
Atomic More
物理机/Cloud Node
本课程 Centos 7 ,采用Redhat官方的yum源和Docker RPM包安装
从百度云盘下载centos 7镜像 Docker课程所用资料/s/1jG4FAqq SSH进入虚机后,执行标准化安装过程:
yum install docker
Docker 1.8的部署安装
cat >/etc/yum.repos.d/docker.repo <<-EOF
[dockerrepo]
name=Docker Repository
baseurl=https:///repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https:///gpg
EOF
yum install docker-engine
设置开机启动Docker Daemon进程systemctl start docker.service
systemctl enable docker.service
systemctl grep docker查看docker进程的状态
systemctl disable firewalld
yum -y install iptables-services
systemctl enable iptables
systemctl start iptables
换回默认的iptables服务
Docker 的部署安装
查看Docker 版本号 客户端版本
服务端版本
Docker0虚拟网桥
Docker 配置文件:/etc/sysconfig/docker
OPTIONS 用来控制Docker Daemon 进程参数
-H 表示Docker Daemon 绑定的地址, -H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375 --registry-mirror 表示Docker Registry 的镜像地址--registry-mirror=http://4bc5abeb.m.daocloud.io
--insecure-registry 表示(本地)私有Docker Registry 的地址, --insecure-registry ${pivateRegistyHost}:5000 --selinux-enabled 是否开启SELinux ,默认开启 --selinux-enabled=true
--bip 表示网桥docker0使用指定CIDR 网络地址,--bip=172.17.42.1
-b 表示采用已经创建好的网桥, -b=xxx
重要参数解释:
OPTIONS=-H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375 --registry-
mirror=http://4bc5abeb.m.daocloud.io --selinux-enabled=true
下面是代理的设置
http_proxy=xxxxx:8080
https_proxy=xxxxxx:8080
Docker 配置文件(Cent OS 7)
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/docker daemon -H fd:// -H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375 --registry-mirror=http://4bc5abeb.m.daocloud.io --selinux-enabled=true
[Service]
Environment="HTTP_PROXY=http://xxxxcom:8080"
Environment="HTTPS_PROXY=http://xxxcom:8080"
Type=notify ExecStart=/usr/bin/docker daemo
代理设置
Docker的日志文件写入到 /var/log/message里
Docker配置文件与日志
Docker的日志文件写入到 /var/log/message里
docker search
docker search
docker pull
docker images
docker run
docker run 里面的命令结束了,container就结束了
Docker 基础命令讲解
docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]
决定容器的运行方式,前台执行还是后台执行
docker run 后面追加-d=true 或者-d ,那么容器将会运行在后台模式。
docker exec 来进入到到该容器中,或者attach 重新连接容器的会话
进行交互式操作(例如Shell 脚本),那我们必须使用-i -t 参数同容器进行数据交互
docker run 时没有指定--name ,那么deamon 会自动生成一个随机字符串UUID
Docker 时有自动化的需求,你可以将containerID 输出到指定的文件中(PIDfile ): --cidfile=""
--cidfile=""
Docker 的容器是没有特权的,例如不能在容器中再启动一个容器。
这是因为默认情况下容器是不能访问任何其它设备的。
但是通过"privileged",容器就拥有了访问任何其它设备的权限。
docker create/start/stop/pause/unpause 容器生命周期相关指令
Mysql镜像命令举例
>mysql -uroot -p123456 -h192.168.18.128
docker exec -it mysqlsrv1 /bin/bash
docker ps
run -rm
FAQ时间。