聲明:原創(chuàng)文章笛求,轉(zhuǎn)載請注明出處奏窑。http://www.reibang.com/u/e02df63eaa87
1、概念
- Dockerfile:一個文本格式的配置文件笋粟,可以使用Dockerfile快速構(gòu)建自定義鏡像怀挠。
- 鏡像:用來構(gòu)建這個環(huán)境的模板。通過同一個鏡像害捕,可以構(gòu)造出很多獨立但運行環(huán)境一樣的容器绿淋。
- 容器:一套程序運行的虛擬環(huán)境。
關(guān)系:
關(guān)系
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 |
創(chuàng)建守護式容器(centos) | docker run --name daemon_centos -d centos /bin/bash |
查看容器內(nèi)的進程 | docker top centos |
查看容器的配置 | docker inspect centos |
刪除容器 | docker rm id |
容器互聯(lián) | --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、創(chuàng)建帶有SSHD的docker容器
3.1 編寫dockerfile
FROM centos:latest
MAINTAINER hawkingfoo<hawkingfoo@gmail.com>
# install sshd
#RUN yum clean all && yum makecache && yum update
RUN yum install -y net-tools openssh-server
RUN mkdir -p /var/run/sshd
# set root password
RUN echo 'root:123456' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# set history record
ENV HISTTIMEFORMAT "%F %T "
#Fix sshd service:Read from socket failed: Connection reset by peer?
RUN ssh-keygen -A
#Change timezone CST
RUN \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# open port
EXPOSE 22
# auto run sshd service
CMD ["/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 1022