docker学习笔记(一)基础操作

一、安装

由于我的开发环境是windows环境,所以使用Docker Desktop on Windows进行环境搭建。

具体如何安装,如何配置很傻瓜式,不过多赘述。

二、基本操作

1、获取镜像

具体的选项可以查看命令: docker pull --help

  • Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub。
  • 仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。

通过 docker search 搜索自己想要的镜像

然后docker pull 进行拉取镜像

2、列出镜像

列出已经下载下来的镜像,可以使用 docker image ls 命令 或者 docker images

查看已下载镜像的体积

虚悬镜像

$ docker image prune

WARNING! This will remove all dangling images.

Are you sure you want to continue? [y/N] y

移除所有未被使用的镜像

$ docker image prune -a

$ docker image rm [选项] <镜像1> [<镜像2> …]

$ docker image rm $(docker image ls -q redis)

$ docker image rm $(docker image ls -q -f before=mongo:3.2)

docker image

Usage: docker image COMMAND

Manage images

Commands:
prune Remove unused images
rm Remove one or more images

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

$ docker run –name my-nginx -d -P nginx:latest
d22d6d7071e49115fe9544f2639458d1e14315643698f853f01dd1bf127155f7

docker exec [OPTIONS] CONTAINER COMMAND [ARG…]

$ docker exec -it my-nginx bash
root@d22d6d7071e4:/#

root@d22d6d7071e4:/# cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index2.html
root@d22d6d7071e4:/# echo ‘

Hello, Docker!

‘ > /usr/share/nginx/html/index.html
root@d22d6d7071e4:/# exit
exit

docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

$ docker diff my-nginx
C /usr
C /usr/share
C /usr/share/nginx
C /usr/share/nginx/html
C /usr/share/nginx/html/index.html
A /usr/share/nginx/html/index2.html
C /root
A /root/.bash_history
C /run
A /run/nginx.pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp

$ docker commit –author “cc pangou@live.cn” –message “修改了默认网页” my-nginx nginx:v2
sha256:53b5b249576a9f71d84bd8ca3e711d9a27f5f8977638892383641d950cfb8145
/pangou@live.cn

查看镜像

查看历史变更

$ docker run --name my-nginx-2 -d -p 81:80 nginx:v2

FROM nginx
RUN echo '

Hello, Docker!

' > /usr/share/nginx/html/index.html

docker build [选项] <上下文路径/URL/->

$ docker build -t nginx:v3 .
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM nginx
---> ab56bba91343
Step 2/2 : RUN echo '

Hello, Docker!

' > /usr/share/nginx/html/index.html
---> Running in 0e3ededcf109
Removing intermediate container 0e3ededcf109
---> ba87f88d0be2
Successfully built ba87f88d0be2
Successfully tagged nginx:v3

$ docker run -d -p 80:80 nginx:v3
69c5a5974289bc11f3777ffb7cc9e77d5380574c292af3891ffcf5fb07b07306

访问localhost可见内容。


参考:
– https://yeasy.gitbooks.io/docker_practice/