1、docker的啟動、停止、重啟
[root@localhost ~]# service docker restart
Redirecting to /bin/systemctl restart docker.service
[root@localhost ~]# service docker stop
Redirecting to /bin/systemctl stop docker.service
[root@localhost ~]# service docker start
Redirecting to /bin/systemctl start docker.service
2、docker創建一個容器
[root@localhost ~]# docker run -it -v /docker_test:/yufei --name yufei_6 centos
[root@724e7701f0d4 /]#
-i:允許我們對容器內的 (STDIN) 進行交互
-t:在新容器內指定一個偽終端或終端
-v:是掛在宿機目錄, /docker_test是宿機目錄,/yufei是當前docker容器的目錄,宿機目錄必須是絕對的。
--name:是給容器起一個名字,可省略,省略的話docker會隨機產生一個名字
3、docker啟動的容器列表
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
724e7701f0d4 centos "/bin/bash" 4 minutes ago Up 4 minutes yufei_6
f9097691663e centos "/bin/bash" 5 minutes ago Up 5 minutes yufei_5
[root@localhost ~]#
3、查看docker創建的所有容器
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
724e7701f0d4 centos "/bin/bash" 5 minutes ago Up 5 minutes yufei_6
f9097691663e centos "/bin/bash" 6 minutes ago Up 6 minutes yufei_5
e59a540fb979 centos "/bin/base" 6 minutes ago Created yufei_4
ff49dfedea4f centos "/bin/bash" 2 hours ago Exited (137) 10 minutes ago yufei_03
d2cc70abb5a5 centos "/bin/bash" 2 hours ago Exited (127) 2 hours ago yufei_02
2d48fc5b7c17 centos "/bin/bash" 2 hours ago Exited (127) 2 hours ago yufei_01
[root@localhost ~]#
docker ps 默認列表是正在啟動的容器 -a是顯示所有創建的容器
4、啟動、停止、重啟某個docker 容器
[root@localhost ~]# docker start yufei_01
yufei_01
[root@localhost ~]# docker stop yufei_01
yufei_01
[root@localhost ~]# docker restart yufei_01
yufei_01
[root@localhost ~]#
5、查看指定容器的日志記錄
[root@localhost ~]# docker logs -f yufei_01
[root@2d48fc5b7c17 /]# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@2d48fc5b7c17 /]# exit
exit
[root@2d48fc5b7c17 /]# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]#
[root@2d48fc5b7c17 /]# cd /
[root@2d48fc5b7c17 /]# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@2d48fc5b7c17 /]# mkdir yufei
[root@2d48fc5b7c17 /]# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var yufei
[root@2d48fc5b7c17 /]# cd yufei
[root@2d48fc5b7c17 yufei]# ls
yufei
[root@2d48fc5b7c17 yufei]# cd yufei
[root@2d48fc5b7c17 yufei]# ls
application
[root@2d48fc5b7c17 yufei]# cd ../../
[root@2d48fc5b7c17 /]# rm -rf yufei
[root@2d48fc5b7c17 /]# eixt
bash: eixt: command not found
[root@2d48fc5b7c17 /]# exit
exit
[root@2d48fc5b7c17 /]#
上面紅色部分是日志命令部分。
6、刪除某個容器,若正在運行,需要先停止
[root@localhost ~]# docker rm yufei_01
Error response from daemon: You cannot remove a running container 2d48fc5b7c17b01e6247cbc012013306faf1e54f24651d5e16d6db4e15f92d33. Stop the container before attempting removal or use -f
[root@localhost ~]# docker stop yufei_01
yufei_01
[root@localhost ~]# docker rm yufei_01
yufei_01
[root@localhost ~]#
7、刪除所有容器
[root@localhost ~]# docker rm $(docker ps -a -q)
Error response from daemon: You cannot remove a running container 724e7701f0d4a830167e21f75b470235a0e408fd6cc2913403426e96f69cba11. Stop the container before attempting removal or use -f
Error response from daemon: You cannot remove a running container f9097691663ee36f9d2ee56afbdcca0eeb8b63e5590ddf18c0c42954c93b9f06. Stop the container before attempting removal or use -f
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# docker stop yufei_6
yufei_6
[root@localhost ~]# docker stop yufei_5
yufei_5
[root@localhost ~]# docker rm $(docker ps -a -q)
724e7701f0d4
f9097691663e
[root@localhost ~]#
查看docker版本信息
#docker version
#docker -v
#docker info
image鏡像操作命令
#docker search image_name //檢索image
#docker pull image_name //下載鏡像
#docker images //列出本地鏡像 -a, --all=false Show all images; --no-trunc=false Don't truncate output; -q, --quiet=false Only show numeric IDs
//刪除一個或者多個鏡像; -f, --force=false Force; --no-prune=false Do not delete untagged parents
#docker rmi image_name
//顯示一個鏡像的歷史; --no-trunc=false Don't truncate output; -q, --quiet=false Only show numeric IDs
#docker history image_name
容器操作
# 在容器中運行"echo"命令,輸出"hello word"
$docker run image_name echo "hello word"
# 交互式進入容器中
$docker run -i -t image_name /bin/bash
# 后臺啟動鏡像 并更改鏡像名字
$docker run -d --name myImage centos
# 在容器中安裝新的程序
$docker run image_name yum install -y app_name
# 列出當前所有正在運行的container
$docker ps
# 列出所有的container
$docker ps -a
# 列出最近一次啟動的container
$docker ps -l
# 保存對容器的修改; -a, --author="" Author; -m, --message="" Commit message
$docker commit ID new_image_name
# 刪除所有容器
$docker rm `docker ps -a -q`
# 刪除單個容器; -f, --force=false; -l, --link=false Remove the specified link and not the underlying container; -v, --volumes=false Remove the volumes associated to the container
$docker rm Name/ID
# 停止、啟動、殺死一個容器
$docker stop Name/ID
$docker start Name/ID
$docker kill Name/ID
# 從一個容器中取日志; -f, --follow=false Follow log output; -t, --timestamps=false Show timestamps
$docker logs Name/ID
# 列出一個容器里面被改變的文件或者目錄,list列表會顯示出三種事件,A 增加的,D 刪除的,C 被改變的
$docker diff Name/ID
# 顯示一個運行的容器里面的進程信息
$docker top Name/ID
# 從容器里面拷貝文件/目錄到本地一個路徑
$docker cp Name:/container_path to_path
$docker cp ID:/container_path to_path
# 重啟一個正在運行的容器; -t, --time=10 Number of seconds to try to stop for before killing the container, Default=10
$docker restart Name/ID
# 附加到一個運行的容器上面; --no-stdin=false Do not attach stdin; --sig-proxy=true Proxify all received signal to the process
$docker attach ID
#訪問另一個容器的命名空間 進入另一個容器
#安裝Linux工具包
$ yum install -y util-linux
#獲取容器的Pid
$docker inspect --format "{{.State.Pid}}" containerName
#進入容器
$ nsenter --target Pid --mount --uts --ipc --net --pid
#容器網絡配置
#隨機生成container到host端口映射
$docker run -d -P --name myNginx nginx
#指定特定端口 將container 80到host91端口的映射
$docker run -d -p 91:80 --name myNginx imageName
# -p ip: hostPort:containerPosrt
$docker ps -l
docker數據管理
# -v 綁定掛載一個數據卷 -h 給容器指定一個主機名
$docker run -it --name volume-test1 -h nginx -v /data/ imageName
#或著手動設置映射
$docker run -it --name volume-test1 -h nginx -v /opt:/opt imageName
#掛載另一容器, 另一容器volume-test2(即使容器已經停掉)來做volume-test1的專門的存儲
$docker run -it --name volume-test1 -h nginx --volumes-from volume-test2 imageName
#顯示數據卷到host主機的映射關系
$docker inspect -f {{.Volumes}} volume-test1
posted on 2018-07-03 10:33
思月行云 閱讀(553)
評論(0) 編輯 收藏 引用 所屬分類:
Docker\K8s