Dockerfile使用(容器基础上修改另存为另一个镜像)

Docker commit

使用镜像启动容器,在该容器基础上修改另存为另一个镜像

docker ps -a

docker run -it centos

cd /etc/yum.repos.d/

ls

rm -rf *

vi local.repo

yum install net-tools psmisc lftp iproute vim

exit

docker ps -a

把容器变成镜像(封装)

docker ps -a

docker commit 镜像的id 容器的名称 myos

docker ps -a

docker rm 07

docker ps -a

docker images

docker history myos

docker images

docker history myos

系统--》镜像--》应用

docker run -it myos //启动

ifconfig

yum repolist

cd /etc/yum.repos.d

cat local.repo

[local_repo]

name=Centos

baseurl=ftp://192.168.6.254/centos7

gpgcheck=0

enabled=1

[root@docker01 ~]# docker commit a15ce14bca53 myos

sha256:2e1ae83e79c6b0b7409f1101847d26f8447c7c695a2a2e65f40c6a8770816d9f

[root@docker01 ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

a15ce14bca53 centos "/bin/bash" 6 minutes ago Exited (0) About a minute ago stoic_yonath

d30761420ebe nginx "nginx -g 'daemon off" 14 hours ago Exited (1) Less than a second ago 80/tcp, 443/tcp jovial_mcnulty

[root@docker01 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

myos latest 2e1ae83e79c6 28 seconds ago 318.1 MB

mkdir oo

cd oo

vim Dockerfile

docker build -t testos .

Dockerfile语法

FROM:基础镜像

ADD:复件文件到镜像

RUN: 制作镜像时执行的命令

[root@docker01 oo]# vim Dockerfile

[root@docker01 oo]# docker build -t testos .

[root@docker01 oo]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

testos latest 6a4ec2724e8a 21 seconds ago 318.1 MB

<none> <none> e16a40f0e7a1 5 minutes ago

[root@docker01 ~]# docker run -it testos

[root@02ea4530d11d /]# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

[root@docker01 ~]# ls

anaconda-ks.cfg docker_images ifcfg-eth0 RPM-GPG-KEY-CentOS-7

busybox.tar docker_images.zip oo

[root@docker01 ~]# cd oo

[root@docker01 oo]# ls

Dockerfile local.repo

[root@docker01 oo]# cat Dockerfile

FROM centos:latest

RUN rm -rf /etc/yum.repos.d/*

ADD local.repo /etc/yum.repos.d/local.repo

RUN yum -y install net-tools psmisc lftp iproute vim

[root@docker01 oo]# cat local.repo

[local_docker]

name=CentOS docker

baseurl="ftp://192.168.6.254/centos7"

enabled=1

gpgcheck=0

docker run -d nginx

docker exec -it id /bin/bash

nginx -h

-T test cnfiguration,dump it and exit

root /usr/share/nginx/html

echo hello > index.html

curl http://172.17.0.2

docker exec -it fa /bin/bash

dpkg -l | grep ngix

docker rm 容器

docker rmi 镜像

docker build -t imagename Dockerfile //运行脚本

docker build -t testos .

docker run -it myos

yum -y install httpd

httpd -h

httpd -t

vim /etc/httpd/conf/httpd.conf

servername localhost

systemctl start httpd

ps -el

cat /usr/lib/systemd/system/

ExecStart=/usr/sbin/httpd/ $OPTIONS

echo $OPTIONS

/usr/sbin/httpd/ $OPTIONS

ctrl +pq

docker inspect

curl -I http://

docker exec -it 08 /bin/bash

rpm -ql httpd

cd /var/www/html

ls

vim index.html

<pre>

hello nsd1803

exit

curl -i http://

exit

mkdir db

cd db

vim Dokerfile

FROM myos

RUN yum -y install httpd

ADD httpd.conf /etc/httpd/conf/httpd.conf

WORKDIR /var/www/html

RUN echo “hello nsd1803” > index.html

EXPOSE 80

MAINTAINER lixin

ENVEnvironmentFile=/etc/sysconfig/httpd

CMD [“/usr/sbin/httpd”,”-DFOREGROUND”]

docker build -t myos:httpd .

docker history e721a5db2e7f

docker images

docker ps -a

docker stop 08

docker rm 08

docker run -d myos:httpd

docker ps

docker inspect id

curl -i http://172.17.0.2

scp /etc/httpd/conf/httpd.conf 172.17.0.1:./

yum -y scp

docker run -it myos

docker exec -it 4d902450f8e0 /bin/bash

猜你喜欢

转载自blog.csdn.net/weixin_40018205/article/details/81197142