您好,登錄后才能下訂單哦!
這篇文章主要介紹Docker容器的常用操作,其中包括:映射端口、傳遞環境變量、掛載數據卷以及使用apt-get與安裝curl工具對鏡像進行封裝,閱讀完整文相信大家對Docker容器常用操作有了一定的認識。
docker run -p 容器外端口:容器內端口
發布一個nginx應用
-----
[root@docker ~]# docker images #查看鏡像
REPOSITORY TAG IMAGE ID CREATED SIZE
myalpine latest_with_hello.txt 3ce9b8b899ba 17 hours ago 5.59MB
nginx latest f7bb5701a33c 10 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
zhoumingkang/alpine v3.10.3 cc0abc535e36 2 weeks ago 5.59MB
alpine 3.9.4 055936d39205 8 months ago 5.53MB
hello-world latest fce289e99eb9 12 months ago 1.84kB
[root@docker ~]# docker run --rm -d --name mynginx -p80:80 nginx:latest #運行容器
12f98b8cbbc8c918dce442c085b6e6a8e40df86a41d7016c8c8bfb1395b5bc90
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12f98b8cbbc8 nginx:latest "nginx -g 'daemon ofΒ 6 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp mynginx
[root@docker ~]# netstat -tlunp | grep 80
tcp6 0 0 :::80 :::* LISTEN 10728/docker-proxy
docker run -v 容器外目錄:容器內目錄
把當前主機/root/html目錄掛載到容器內/usr/share/nginx/html
-----
[root@docker html]# docker run --rm -d --name mynginx1 -p81:80 -v/root/html:/usr/share/nginx/html nginx:latest #影射端口并掛載本地目錄到容器內
5b3ef0ed66d8927c6e3e502c8cc652243e81e94922f8b6310fa26bf9cb0ab8c1
[root@docker html]# netstat -tlunp | grep 81
tcp6 0 0 :::81 :::* LISTEN 11587/docker-proxy
[root@docker html]# docker ps | grep mynginx1
5b3ef0ed66d8 nginx:latest "nginx -g 'daemon of…" 6 minutes ago Up 6 minutes 0.0.0.0:81->80/tcp mynginx1
[root@docker html]# docker exec -ti 5b3ef0ed66d8 /bin/sh #進入該容器
# ls /usr/share/nginx/html #查看宿主機目錄是否掛載上去
index.html
docker run -e 變量名=變量值
把系統變量增加一段mingkang_env=mingkang_test
-----
[root@docker html]# docker run -ti --rm --name myalpine -e mingkang_env=mingkang_test alpine:latest /bin/sh
/ # env
HOSTNAME=b6dad57f224f
SHLVL=1
HOME=/root
mingkang_env=mingkang_test #增加的環境變量
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
備注:多環境變量時,多加-e
在當前NGINX容器里,安裝curl工具命令
-----
[root@docker html]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b3ef0ed66d8 nginx:latest "nginx -g 'daemon of…" 33 minutes ago Up 33 minutes 0.0.0.0:81->80/tcp mynginx1
[root@docker html]# docker exec -ti mynginx1 /bin/bash
root@5b3ef0ed66d8:/# apt-get update
root@5b3ef0ed66d8:/# apt-get install -y curl #容器里安裝工具
root@5b3ef0ed66d8:/# which curl
/usr/bin/curl
[root@docker html]# docker commit -p mynginx1 zhoumingkang/nginx:curl #生成本地鏡像
sha256:d1b81c37853c29e7069b5127e19e28f0eb964f7a5720a81880a1f3ecda4c88b4
[root@docker html]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE zhoumingkang/nginx curl d1b81c37853c 6 seconds ago 152MB myalpine latest_with_hello.txt 3ce9b8b899ba 24 hours ago 5.59MB nginx latest f7bb5701a33c 10 days ago 126MB alpine latest cc0abc535e36 2 weeks ago 5.59MB zhoumingkang/alpine v3.10.3 cc0abc535e36 2 weeks ago 5.59MB alpine 3.9.4 055936d39205 8 months ago 5.53MB hello-world latest fce289e99eb9 12 months ago 1.84kB [root@docker html]# docker push zhoumingkang/nginx:curl #推送鏡像到遠端 The push refers to repository [docker.io/zhoumingkang/nginx] edb65c87d072: Pushed 75248c0d5438: Mounted from library/nginx 49434cc20e95: Mounted from library/nginx 556c5fb0d91b: Mounted from library/nginx curl: digest: sha256:15a6e2920bc27d9a46a5025b938d54451bac6e499ae51c65cc812d9a193f8f59 size: 1160 [root@docker html]#
關于Docker容器常用操作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。