docker的基本操作

简介:

docker的基本操作

1、容器的基本操作

(1)启动容器

docker run centos echo "hello word"

(2)启动交互式容器

 docker run -i -t ubuntu /bin/bash

 -i --interactive

 -t --tty

(3)查看容器

root@ubuntu-virtual-machine:~# docker ps

root@ubuntu-virtual-machine:~# docker ps -a

root@ubuntu-virtual-machine:~# docker inspect 5529d1c45029(id或name)

(4)指定名字启动容器

root@ubuntu-virtual-machine:~# docker run --name=container01 -i -t ubuntu /bin/bash

(5)重新启动停止的容器:

docker start[-i] 容器名

(6)删除停止的容器

docker rm 容器名


2、Docker - 守护式容器

(1)以守护形式运行容器:

docker run -i -t IMAGE /bin/bash

Ctrl+P Ctrl+Q

(2)附加到运行中的容器:

docker attach 容器名

(3)启动守护式容器:

docker run -d 镜像名[COMMAND][ARG...]

(4)查看容器日志:

docker logs [-f][-t][--tail]容器名

如:docker logs -tf --tail 0 dc1

(5)查看容器内进程:

docker top 容器名

(6)在运行中的容器内启动新进程:

docker exec [-d][-i][-t]容器名[COMMAND][ARG...]

(7)停止守护式容器:

docker stop 容器名

docker kill 容器名

(8)使用docker帮助文件

man docker-run

man docker-logs

man docker-top

man docker-exec


3、在容器中部署静态网站--设置容器的端口映射

  设置容器的端口映射

  run [-P][-p]

  方法一:

       docker run -p 80 -i -t ubuntu /bin/bash

  方法二:

       docker run -p 8080:80 -i -t ubuntu /bin/bash

  方法三:

       docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

  方法四:   

       docker run -p 0.0.0.0:8080 -i -t ubuntu /bin/bash

   

 Nginx部署流程:    

  创建映射80端口的交互式容器

  安装Nginx

  安装文本编辑器vim

  创建静态页面

  修改Nginx配置文件

  运行Nginx

  验证网站访问

 

 docker run -p 80 --name web -i -t ubuntu /bin/bash

  apt-get install -y nginx

  apt-get install -y vim

  mkdir -p /var/www/html

  cd /var/www/html

  cat index.html 

<html>

<head>

      <title>Nginx in Docker</title>

</head>

<body>

       <h1>Hello ,I'm website in Docker!</h1>

</body>

</html>

# cat /etc/nginx/sites-enabled/default 

server {

listen 80 default_server;

listen [::]:80 default_server ipv6only=on;


root /var/www/html;//修改


  /var/www/html# cd /

  nginx

  

  

4.Docker镜像与仓库(一)

查看和删除镜像--镜像的存储地址

/var/lib/docker

  列出镜像

  docker images

  查看镜像

  docker inspect

  删除镜像

  docker rmi

获取和推送镜像

  查找镜像

       方法一:去网站:registry.hub.docker.com/

       方法二:docker search

  拉取镜像

         docker pull [OPTIONS] NAME [:TAG]

      使用国外的镜像,太慢了,解决方法:

      使用--registry-mirror选项

         1、修改:/etc/default/docker

         2、添加:DOCKER_OPTS = "--registry-mirror=http://MIRROR-ADDR"

         https//www.daocloud.io

         

         具体操作:

         去以下网站注册,获取一个地址:

         https//www.daocloud.io

         修改配置文件:

         echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://45df74c6.m.daocloud.io\"" | sudo tee -a /etc/default/docker

         sudo service docker restart

         docker pull ubuntu:12.10

  推送镜像

         docker push

  构建镜像

        方法一: docker commit 通过容器构建

        方法二:docker build 通过Dockerfile文件构建

   

5、Docker客户端和守护进程

连接方式:   

方法一:

unix:///var/run/docker.sock

如:

 nc -U /var/run/docker.sock

GET /info HTTP/1.1        

方法二:

  tcp://host.port

方法三:

  fd://socketfd


查看守护进程

  ps -ef|grep docker

  sudo status docker

使用service命令管理

  sudo service docker start

  sudo service docker stop

  sudo service docker restart


启动配置文件

  /etc/default/docker


Docker的远程访问

   第二台安装Docker的服务器

   修改Docker守护进程启动选项,区别服务器

   保证client API与Server API版本一致

   

6.Docker镜像与仓库(二)

  

7.Docker容器的网络连接

  docker0  --linux虚拟网桥

  linux虚拟网桥的特点

    可以设置IP地址

    相当于拥有一个隐藏的虚拟网卡

    

  管理虚拟网桥

  sudo apt-get install bridge-utils

  sudo brctl show


自定义虚拟网桥

  

  添加虚拟网桥

  sudo brctl addbr br0

  sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0

  更改docker守护进程的启动配置:

  /etc/default/docker中添加DOCKER_OPS值

  -b=br0

    

         

docker容器的互联

   允许所有容器互联

   拒绝容器间互联

   允许特定容器间的连接

Docker 容器与外部网络的连接

  

8、Docker容器的数据管理 

数据卷

  为容器添加数据卷

    sudo docker run -v ~/container_data:/data -it ubuntu /bin/bash

  为数据卷添加访问权限

    sudo docker run -v ~/datavolume:/data:ro -it ubuntu /bin/bash

   使用Dockerfile构建包含数据卷的镜像

   Dockerfile指令:

   VOLUME["/data"]

数据卷容器:

    挂载数据卷容器的方法:

       docker run --volumes-from [CONTAINER NAME]

docker数据卷的备份和还原

   数据备份方法

       docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar [container data volume]

   数据还原方法:

      docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar [container data volume]

    

9、Docker容器的跨主机访问

使用网桥实现跨主机容器连接

   网桥管理工具:bridge-utils


使用Open vSwitch实现跨主机容器连接



使用weave实现跨主机容器连接


本文转自 corasql 51CTO博客,原文链接:http://blog.51cto.com/corasql/1715727,如需转载请自行联系原作者

相关文章
|
Docker 容器
【Docker】掌握 Docker 镜像操作:从基础到进阶
【Docker】掌握 Docker 镜像操作:从基础到进阶
|
JavaScript 前端开发 数据安全/隐私保护
阿里云云效操作报错合集之流水线中获取不到CI_COMMIT_REF_NAME变量,导致docker镜像打包失败,什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
NoSQL 应用服务中间件 nginx
Docker 的基本操作
在这个快速发展的技术时代 , 我们经常面临着应用部署的复杂性、环境差异以及不同操作系统之间的兼容性问题 . 这些问题不仅消耗大量时间 , 还可能导致项目延期和成本增加 . Docker 的出现解决了我们在应用部署过程中遇到的障碍和挑战 . 通过将应用程序及其依赖环境封装在一个轻量级的、可移植的容器中 , Docker 不仅简化了开发和部署流程 , 还确保了不同环境间的无缝衔接和一致性 .
596 100
|
JSON 数据格式 Docker
docker镜像源挂了后操作2024-6
简单操作实现docker镜像依然能顺利拉取。
1551 12
|
缓存 运维 Devops
阿里云云效操作报错合集之在构建过程中,Docker尝试从缓存中获取某个文件(或计算缓存键)时遇到了问题,该如何处理
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
Ubuntu 应用服务中间件 Linux
Docker基本操作命令
Docker 允许用户基于现有的容器或通过 Dockerfile 自定义镜像。Dockerfile 是一个文本文件,包含了创建镜像所需的所有命令。 命令: docker build [OPTIONS] PATH PATH:Dockerfile 所在的路径 OPTIONS:构建过程中的可选参数,如 -t 用于标记镜像名和标签 例如,使用当前目录的 Dockerfile 来构建镜像,并标记为 my_image:latest: docker build -t my_image:latest . 以上是 Docker 基础命令的简介,通过这些命令,你可以开始探索 Docker 的强大功能,并将其
329 2
|
应用服务中间件 Shell Linux
docker 基本用法-操作镜像
docker 基本用法-操作镜像
1784 6
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI 操作报错合集之在本地构建easyrec docker镜像时遇到了无法连接docker服务如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
NoSQL 关系型数据库 MySQL
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
2094 1
|
运维 Ubuntu Shell
阿里云云效操作报错合集之流水线构建Docker镜像时,遇到报错:“error: failed to solve: rpc error: code”,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。