因爲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