Docker入门

来源:互联网 发布:淘宝上有什么防狼神器 编辑:程序博客网 时间:2024/06/10 05:16

1、概念

  • Dockerfile:一个文本格式的配置文件,可以使用Dockerfile快速构建自定义镜像。
  • 镜像:用来构建这个环境的模板。通过同一个镜像,可以构造出很多独立但运行环境一样的容器。
  • 容器:一套程序运行的虚拟环境。

关系:
关系

2、常用命令

功能 命令 查看Docker信息 docker info 查看容器列表 docker ps 运行docker容器(centos) docker run -it centos bash 指定docker的名字并运行容器(centos) docker run –name centos -it centos bash 启动容器(centos) docker start centos 停止容器(centos) docker stop centos 附着到容器 docker attach centos 进入容器 docker exec -it centos /bin/bash 创建守护式容器(centos) docker run –name daemon_centos -d centos /bin/bash 查看容器内的进程 docker top centos 查看容器的配置 docker inspect centos 删除容器 docker rm id 容器互联 –link name:alias (name为正在运行的需要链接的容器,alias是别名) 搜索镜像 docker search centos 删除镜像 docker rmi centos Dockerfile编译 docker build -t test_docker . Dockerfile运行 docker run -it -d –name sshd -p 1022:22 test_docker /bin/bash

3、创建带有SSHD的docker容器

3.1 编写dockerfile

FROM centos:latestMAINTAINER hawkingfoo<hawkingfoo@gmail.com># install sshd#RUN yum clean all && yum makecache && yum updateRUN yum install -y net-tools openssh-serverRUN mkdir -p /var/run/sshd# set root passwordRUN echo 'root:123456' | chpasswdRUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config# set history recordENV HISTTIMEFORMAT "%F %T "#Fix sshd service:Read from socket failed: Connection reset by peer?RUN ssh-keygen -A#Change timezone CSTRUN \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# open portEXPOSE 22# auto run sshd serviceCMD ["/usr/sbin/sshd", "-D"]

3.2 编译dockerfile并启动容器

docker build -t my_sshd .
docker run -d -it --name sshd -p 1022:22 my_sshd

3.3 进入容器

  • docker
docker exec -it sshd bash
  • ssh
ssh root@127.0.0.1 -p 1023
原创粉丝点击