一、基本命令
一)删除所有容器
docker rm -f $(docker ps -aq)
二)重新启动时,提示容器报错
docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
重启docker服务及可重新生成自定义链DOCKER
[root@itpux etc]# docker start 6d0b96df3c52 Error response from daemon: driver failed programming external connectivity on endpoint awesome_hoover (54da8ce69cde498f99898d84493d89d7a8303ccc5479eb383e03402496bbac60): iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8082 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1) Error: failed to start containers: 6d0b96df3c52 [root@itpux etc]#
解决方法:
systemctl restart docker
二、启动容器,并进入容器
[root@itpux etc]# docker start 6d0b96df3c52 6d0b96df3c52 [root@itpux etc]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6d0b96df3c52 nginx "nginx -g 'daemon off" 5 minutes ago Up 11 seconds 0.0.0.0:8082->80/tcp awesome_hoover [root@itpux etc]# docker exec -it 6d0b96df3c52 /bin/bash root@6d0b96df3c52:/#
三、创建镜像
一)确定目录,创建nginx目录
[root@itpux nginx]# pwd /usr/share/nginx [root@itpux nginx]#
二)创建并修改配置文件
vi Dockerfile
在此文件中插入如下参数:
FROM nginx RUN echo '<h1>hello,docker</h1>' > /usr/share/nginx/html/index.html
三)错误,原因文件配置错误
[root@itpux nginx]# docker build -t='mynginx' . Sending build context to Docker daemon 2.048 kB Step 1 : M Unknown instruction: M
四)按第一步修改配置后,正确镜像如下
[root@itpux nginx]# docker build -t='mynginx' . Sending build context to Docker daemon 2.048 kB Step 1 : M Unknown instruction: M [root@itpux nginx]# vi Dockerfile [root@itpux nginx]# docker build -t='mynginx' . Sending build context to Docker daemon 2.048 kB Step 1 : FROM nginx ---> dbfc48660aeb Step 2 : RUN echo '<h1>hello,docker</h1>' > /usr/share/nginx/html/index.html ---> Running in 69dd60cb39a4 ---> 904dd77518e4 Removing intermediate container 69dd60cb39a4 Successfully built 904dd77518e4 [root@itpux nginx]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 542f9991ac9a nginx "nginx -g 'daemon off" 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp admiring_bardeen [root@itpux nginx]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mynginx latest 904dd77518e4 26 seconds ago 109.1 MB nginx latest dbfc48660aeb 9 days ago 109.1 MB [root@itpux nginx]#
五)删除原容器,创建镜像的新容器(新容器增加了脚本)
[root@itpux nginx]# cat Dockerfile FROM nginx RUN echo '<h1>hello,docker</h1>' > /usr/share/nginx/html/index.html [root@itpux nginx]# docker run -d -p 8080:80 542f9991ac9a Unable to find image '542f9991ac9a:latest' locally Pulling repository docker.io/library/542f9991ac9a docker: Error: image library/542f9991ac9a:latest not found. See 'docker run --help'. [root@itpux nginx]# docker exec -it 542f9991ac9a /bin/bash root@542f9991ac9a:/# exit exit [root@itpux nginx]# docker rm -f 542f9991ac9a 542f9991ac9a [root@itpux nginx]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mynginx latest 904dd77518e4 6 minutes ago 109.1 MB nginx latest dbfc48660aeb 9 days ago 109.1 MB [root@itpux nginx]# docker run -d -p 8080:80 --name mynginx 904dd77518e4 9388547b870e5a2a3d6f5676e011f551bbab4594d537b1385670d5aa0b508e43 [root@itpux nginx]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9388547b870e 904dd77518e4 "nginx -g 'daemon off" 7 seconds ago Up 4 seconds 0.0.0.0:8080->80/tcp mynginx [root@itpux nginx]#
输出结果如下: