1-安裝docker安裝包 其實就是在cd /etc/yum.repo.d/ 下配置yun源
curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo # 若是沒yun源配好,先清空yun源文件夾下的全部源,清空(rm -rf *),和上面那條一塊兒執行
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2-安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
3-查看docker版本狀況
yum list docker-ce.x86_64 --showduplicates | sort -r
4-安裝了兩個安裝包(一個是docker,另外一個是他的核心),選擇17.03.2版本比較穩定
yum install -y --setopt=obsoletes=0 \ docker-ce-17.03.2.ce-1.el7.centos.x86_64 \ docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
# reload是重載一下,沒改配置文件能夠不作
systemctl daemon-reload
# 啓動docker 用start也行 systemctl restart docker # 查看docker版本 docker version docker info
阿里雲Docker-hublinux
https://cr.console.aliyun.com/cn-hangzhou/mirrorsnginx
# 先建立配置文件目錄 mkdir -p /etc/docker # 在執行下面語句 tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"] } EOF 或者: vim /etc/docker/daemon.json { "registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"] }
配置完後在重啓一下docker: systemctl restart docker
3.1獲取鏡像:docker
# 查詢軟件 後面跟軟件名
docker search centos
# 下載基礎操做系統鏡像
docker pull centos:6.9 docker pull centos:7.5.1804
#
docker pull nginx
3.2查詢鏡像json
# 查看下載好的鏡像
docker images
# 查看docker的id docker images -q
# 顯示鏡像的詳細說明 docker inspect ID/name:tag
# 啓動鏡像中的centos
docker run -it centos:6.9
# 查看啓動鏡像的版本
cat /etc/redhat-release
3.3刪除鏡像vim
# 刪除單個鏡像
docker rmi ID
# 刪除所有鏡像 docker rmi `docker images -q` docker rmi $(docker images -q)
3.4導入導出鏡像centos
# 導出下載好的鏡像重定向到指定文件夾下
[root@docker ~]# docker image save nginx >/opt/nginx.tar.gz
# 導入某個鏡像
[root@docker ~]# docker image load -i /opt/nginx.tar.gz
3.5啓動容器並獲取鏡像app
# 基於httpd起一個容器,先到本地找,若是沒有就自動下載
[root@docker ~]# docker run -d -p 80:80 httpd [root@docker ~]# docker ps -a [root@docker ~]# docker images
語法:
第一個鏡像建立:ssh
docker ps -a docker commit xxxxxx oldguo/wordpress:v1 docker images
製做鏡像: centos7.5+vim+net-tools+iproute+sshd(基於centos7.5具備後面內容功能)curl
1.啓動容器:wordpress
docker run -it --name "centos7.5" 76d6bc25b8a5
2.優化yum源
mv /etc/yum.repos.d/*.repo /tmp echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.100/pub/centos7\ngpgcheck=0">/etc/yum.repos.d/ftp.repo
3.安裝必須軟件包
yum install -y vim net-tools iproute openssh-* -y
4.啓動SSHD
mkdir /var/run/sshd echo 'UseDNS no' >> /etc/ssh/sshd_config sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd echo 'root:123456' | chpasswd /usr/bin/ssh-keygen -A /usr/sbin/sshd -D
注意: 以上操做作完以後,會一直不退出,須要用如下命令退回到宿主機,並不關閉容器
ctrl p q (這個命令在終端看不見)
5.製做鏡像
docker commit centos7.5 oldguo/centos7_sshd:v2
必須依賴優化過的yum源,不然會報錯並中止:
## Centos7.5 [root@docker sshd]# vim dockerfile
$ 阿里雲的不用優化yum源,兩行
FROM centos:7.5.1804 # 鏡像基於這個容器 RUN mv /etc/yum.repos.d/*.repo /tmp RUN echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.100/pub/centos7\ngpgcheck=0">/etc/yum.repos.d/ftp.repo RUN yum install -y openssh-server RUN yum install -y openssh-clients RUN yum install net-tools* -y RUN yum install iproute-* -y RUN mkdir /var/run/sshd RUN echo 'UseDNS no' >> /etc/ssh/sshd_config RUN sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd RUN echo 'root:123456' | chpasswd RUN /usr/bin/ssh-keygen -A EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]
# 構建一個鏡像到指定文件夾下 docker build -t "oldguo/centos7_sshd:v3" /opt/dockerfile