1. 程式人生 > 其它 >執行緒建立的三種方式及區別

執行緒建立的三種方式及區別

docker容器操作

容器是docker映象的一個執行例項:是獨立執行的一個或者多個所必須的執行環境,映象是可讀模板,容器給這個可讀模板一個可寫層。

  • 建立容器與執行容器
    docker的容器十分輕量級,使用者隨時可以建立或者刪除,需要一個程序來啟動。
    建立容器
格式:docker create [選項]... 映象執行的程式  (不建議用這個啟動)
常用選項:-i:讓容器的輸入保持開啟
        -t:讓Docker分配一個偽終端
        -d:守護程序形式執行
[root@server01 ~]# docker create -it nginx /bin/bash
1560de9a82a2b9640f843c07218323bcea3db826ac18e463d06db54fae607a06  #容器的id號
#報錯ipv4 forwarding is.....原因:路由轉發沒開,可以在/etc/sysctl.conf檔案新增net.ipv4_forward=1,開啟路由轉發

#檢視容器  ps
格式:docker ps 【選項】(不加選項預設檢視正在執行的容器程序)
    docker ps -a (檢視全部)
[root@server01 ~]# docker ps -a
CONTAINER ID(ID號)     IMAGE(映象)           COMMAND(正在執行的命令)                 CREATED(建立時間)                         STATUS(目前狀態)              PORTS(埠)           NAMES(隨機名)
1560de9a82a2             nginx                 "/docker-entrypoint.…"   4 minutes ago       Created                                                                             focused_williams
#最後的NAMES可使用命令:docker create -it --name abc nginx /bin/bash 建立修改

容器的啟動與停止

格式: docker start 容器ID/名稱
docker start 
[root@server01 ~]# docker start focused_williams
focused_williams
[root@server01 ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
1560de9a82a2        nginx               "/docker-entrypoint.…"   11 minutes ago      Up 3 seconds        80/tcp              focused_williams
#此時可以看到狀態已經變成Up 3 seconds(啟動狀態)還有80埠已經打開了

#同時建立並啟動:run命令如果本地映象沒有的話,會從公用倉庫下載
docker run -d nginx /bin/bash -c ls/(並執行一條shell命令ls)
#就是在inspect上啟動一個啟動nginx的指令碼
  "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
#而有的則沒有啟動指令碼需要-c 後面寫一個啟動例如centos等:docker run -d centos /bin/bas -c "while true; do echo "123"; sleep 1; done"  
#啟動每隔一秒輸入一個123,也就是centos長期在啟動。可以使用“docker logs 容器id號”檢視輸出內容,也就是123
#-d就是在後臺來執行
[root@localhost ~]# docker run nginx /bin/bash -c ls
bin
boot
dev
docker-entrypoint.d
...

#刪除容器:docker rm -f $(docker ps -aq)  #-f強制刪除

容器的進入

#命令:docker exec / docker attach
格式:docker exec -it 容器ID/名稱/bin/bash 
-i:讓容器輸入保持開啟
-t:分配一個偽終端
[root@localhost ~]# docker exec -it 48d28d5fe5c2 /bin/bash
root@48d28d5fe5c2:/# exit
exit

容器的進出與匯入

命令格式:docker export 容器ID/名稱>檔名