因为GFW的隔离,国内拉取镜像会报TLS handshake timeout
的错误;须要配置 registry-mirrors 为国内源解决这个问题。
能够配置为阿里的加速源:https://cr.console.aliyun.com/undefined/instances/mirrors,阿里的加速器能够提高获取Docker官方镜像的速度。
登陆开发者帐号后,将本身的加速器地址复制到 Docker Settings > Daemon > Registry mirrors 中,并点击 Apply 按钮,等待 Docker 重启完成便可。node
# 拉取一个镜像 $ docker pull ubuntu:lastest latest: Pulling from library/ubuntu 7ddbc47eeb70: Pull complete c1bbdc448b72: Pull complete 8c3b70e39044: Pull complete 45d437916d57: Pull complete Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d Status: Downloaded newer image for ubuntu:latest # 查看拉取的镜像 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 775349758637 9 days ago 64.2MB
# 启动容器 # -it 参数会将 Shell 切换到容器终端 $ docker container run -it ubuntu:latest /bin/bash root@90eb9f237521:/#
按Ctrl + P + Q组合键,能够在退出容器的同时还保持容器运行。web
# windows下能够经过 tasklist 命令查看进程 $ tasklist /FI "imagename eq docker*" 映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ Docker for Windows.exe 13972 Console 5 102,560 K Docker.Watchguard.exe 3772 Services 0 2,252 K Docker.Watchguard.exe 4032 Services 0 2,228 K # 查看系统内所有处于运行状态的容器 $ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90eb9f237521 ubuntu:latest "/bin/bash" 21 minutes ago Up 21 minutes focused_shaw
# 将 shell 链接到一个运行中的容器终端 # docker container exec <options> <cotainer-name or container-id> <command/app> $ docker container exec -it 90eb9f237521 bash root@90eb9f237521:/# # 中止一个容器 $ docker container stop 90eb9f237521 90eb9f237521 # 杀死一个容器 $ docker container rm 90eb9f237521 90eb9f237521 # 再次执行 docker container ls 能够查看容器是否已经被删除 # -a 参数能够列出全部(包括中止状态)容器 $ docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # 能够看到容器 90eb9f237521 已经被删除了
容器即应用。docker
# 构建一个镜像 $ docker image build -t test:lastest . ... Successfully built afe9c1f8a70f Successfully tagged test:lastest # 查看已经构建的镜像 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE test lastest afe9c1f8a70f 44 seconds ago 71.5MB # 应用容器化 $ docker container run -d --name web1 --publish 8080:8080 test:lastest $ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 946d5306bb5e test:lastest "node ./app.js" 13 seconds ago Up 12 seconds 0.0.0.0:8080->8080/tcp web1 # 此时打开浏览器 localhost:8080 便可看到运行的应用
The end.
Last updated by Jehorn 11/10 2019shell