1.拉取镜像
docker pull nginx
2.查看本地镜像列表
docker images
3.运行执行镜像 (docker run imegename)
- 这里需要学习 docker 命令的参数使用,这里 -d 代表后台运行 -p代表端口映射 第一个是外面机器的端口,第二个是里面机器的端口号;
docker run -d -p 80:80 nginx
4.查看本地所有容器列表
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
da579e8ee923 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:81->80/tcp hardcore_dubinsky
7ed81fb3b8cb nginx "nginx -g 'daemon of…" 19 minutes ago Up 19 minutes 0.0.0.0:80->80/tcp upbeat_turing
5.进入到指定容器中去 这里可以指定进入
docker exec -it 7e /bin/bash
6.强制删除某个容器 (docker rm -f CONTAINER_ID)
docker rm -f da
7.通过容器创建某个镜像 (docker commit CONTAINER_ID IMAGE_NAME)
[node1] (local) root@192.168.0.23 ~
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 602e111c06b6 12 days ago 127MB
[node1] (local) root@192.168.0.23 ~
$ docker commit 7e new_image
sha256:7ae824694af26ad4f7b8669efa510c735aff578e30364d5ad13746f03020de58
[node1] (local) root@192.168.0.23 ~
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new_image latest 7ae824694af2 6 seconds ago 127MB
nginx latest 602e111c06b6 12 days ago 127MB
8.通过 dockerfile 构建镜像
- 这里需要学习
dockerfile
文件的使用及写法
vim dockerfile
# dockerfile
1 FROM new_image # 在某个基础镜像(new_image)上进行构建
2 ADD ./ /usr/share/nginx/html # 把当前目录路径下的所有文件拷贝到生成的镜像所在容器的指定路径下
- 通过当前路径下的
dockerfile
构建名称为new_image4
的镜像
docker build -t new_image4 .
9.将指定镜像打包成压缩文件
[node1] (local) root@192.168.0.23 ~
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new_image5 latest a7fcc091e0c1 11 minutes ago 127MB
new_image4 latest 76f701423f43 27 minutes ago 165MB
new_image3 latest ead1978da8c4 55 minutes ago 165MB
new_image2 latest f16f653c2e6b 2 hours ago 165MB
new_image latest 7ae824694af2 2 hours ago 127MB
nginx latest 602e111c06b6 13 days ago 127MB
[node1] (local) root@192.168.0.23 ~
$ docker save new_image2 >image_tar.tar
[node1] (local) root@192.168.0.23 ~
$ ls -l
total 164844
-rw-r--r-- 1 root root 168794624 May 6 13:48 image_tar.tar
-rw-r--r-- 1 root root 24 May 6 12:49 index.html
drwxr-xr-x 2 root root 24 May 6 13:33 test
10.删除指定镜像(docker rmi IMAGE_NAME)
这里需要注意,若某个容器中在使用该镜像,则该镜像不能被直接删除,需要先删除对应的容器后,才能删除该镜像;
docker rmi new_image3
11.将镜像压缩文件还原成镜像文件
[node1] (local) root@192.168.0.23 ~
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new_image5 latest a7fcc091e0c1 22 minutes ago 127MB
new_image4 latest 76f701423f43 37 minutes ago 165MB
new_image2 latest f16f653c2e6b 2 hours ago 165MB
new_image latest 7ae824694af2 2 hours ago 127MB
nginx latest 602e111c06b6 13 days ago 127MB
[node1] (local) root@192.168.0.23 ~
$ docker load < image_tar.tar
09282de798ad: Loading layer [==================================================>] 38.15MB/38.15MB
Loaded image: new_image3:latest
[node1] (local) root@192.168.0.23 ~
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new_image5 latest a7fcc091e0c1 24 minutes ago 127MB
new_image4 latest 76f701423f43 39 minutes ago 165MB
new_image3 latest ead1978da8c4 About an hour ago 165MB
new_image2 latest f16f653c2e6b 2 hours ago 165MB
new_image latest 7ae824694af2 2 hours ago 127MB
nginx latest 602e111c06b6 13 days ago 127MB