您好,登錄后才能下訂單哦!
這篇文章主要介紹了docker如何安裝,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
操作系統:centos 6.5
yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
# febootstrap用來制作centos鏡像的工具
yum install docker-io febootstrap -y
vim /etc/fstab 添加一行: none /sys/fs/cgroup cgroup defaults 0 0
reboot
docker 開機后會自動啟動,如果沒有啟動可以手動啟動:docker -d &
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/
#參數說明:
-i 鏡像所需要安裝的工具:把-i后面的參數傳遞給yum來實現安裝,上面安裝了ssh服務
centos6 是centos版本
centos6-image 是指定目錄
命令的執行完成后,會在當前目錄下生成一個目錄centos6-image
bash-4.1.2# bash-4.1.2# bash-4.1.2# ls bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var bash-4.1.2# ls -a root
這時root目錄下沒有任何文件,也不沒有隱藏的點文件,如:.bash_logout .bash_profile .bashrc
如果這時制作出來的鏡像使用ssh登錄,會直接進入根目錄下,如下:
bash-4.1.2# bash-4.1.2# bash-4.1.2# ls bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var bash-4.1.2# ls -a root . ..
為了避免這種情況,可以在centos6-image目錄的root目錄把.bash_logout .bash_profile .bashrc這三個文件設置一下
cd centos6-image && cp etc/skel/.bash* root/
這樣就可以實現遠程登錄正常了
基于這樣的實現,我們把可以以后一些復雜的配置文件事先配置好后放在一個目錄下,然后再通過Dockerfile文件來調用,即可快速完成。
cd centos6-image && tar -c .|docker import - centos6-base
命令完成后,使用docker images來查看
docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos6-base latest a01c3d440db8 1 minutes ago 311.3 MB
此時一個基本的鏡像已完成,
Dockefile 文件如下:
#Dockerfile FROM centos6-base MAINTAINER zhou_mfk <zhou_mfk@163.com> RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh EXPOSE 22 RUN echo 'root:redhat' | chpasswd RUN yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 RUN yum install tar gzip gcc vim wget -y ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 CMD /usr/sbin/sshd -D #End
Dockerfile說明請看Docker系列相關博文 Dockerfile 文件詳解
docker build -t centos6-ssh .
build: Build a container from a Dockerfile 這個是創建一個容器從Dockerfile文件
docker build <path> 尋找path路徑下名為的Dockerfile的配置文件,使用此配置生成新的image
. 表示在當前目錄下
docker build -t centos6-ssh /root/images/abc 這個表示Dockerfile文件在:/root/images/abc下
命令執行完成后,centos6-ssh鏡像就創建完成了,
查看一下:
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos6-ssh latest b8ca70e7adee 1 hours ago 311.3 MB
centos6-base latest a01c3d440db8 2 hours ago 311.3 MB
下面創建一個容器來登錄下:
docker run -d -p 127.0.0.1:2222:22 centos6-ssh
ssh root@127.0.0.1 -p 2222
輸入密碼:redhat
[root@a856a3c242cf ~]#
[root@a856a3c242cf ~]#
[root@a856a3c242cf ~]# ls
[root@a856a3c242cf ~]#
[root@a856a3c242cf ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
感謝你能夠認真閱讀完這篇文章,希望小編分享的“docker如何安裝”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。