容器的生命周期
基本操作
创建 container
docker run –name deploy -v /downloads:/root/downloads -it -d hunter_ubuntu
-d 后台运行
–restart=always 意味着无论容器因何种原因退出(包括正常退出),就立即重启。该参数的形式还可以是 –restart=on-failure:3,意思是如果启动进程退出代码非0,则重启容器,最多重启3次。进入创建的container
a. 查看创建的container的id: {Container ID}
docker ps
// 4049c7fa0668b. 进入container:
docker exec -it {Container ID} /bin/bashe.g.docker exec -it 4049c7fa0668 /bin/zsh (你可以用/bin/bash,但是个人感觉/bin/zsh比较好用)
c. 退出container:
Ctrl+P+Q 正常退出不关闭容器
ctrl + d在container里,你可以安装项目必要的软件,把项目的代码放进来等操作.
a. 复制
docker cp /etc/profile.d 4049c7fa0668:/etc/
host与container之间可以相互复制 位置互换就好了提交在container里修改:
docker commit -m “message” {Container ID} {reporitory}:{tag}
e.g.docker commit -m “anaconda2” 9b5660dc83c5 hunter_ubuntu:latest查看提交历史
docker history {Image}
e.g.docker history hunter_ubuntu
改变容器的端口映射
一般情况下是不可以改变容器的端口映射的,只有通过run命令指定。
如果想要不改变容器内容和配置的情况下更改端口映射只有先停止,然后将容器打包成镜像,然后在运行新的镜像的时候指定新的端口映射。
#先停止容器
docker stop containerA
e.g. docker stop 863a57658531
#将容器commit成为一个镜像
docker commit containerA newImageB
e.g. docker commit 6b8180470a4d hunter_ubuntu_port
#运行容器
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>
e.g. docker run -p 8080:8080 -p 8081:8081 -v /home/data/:/home/data/ -dt newImageB
查看文件夹大小
du -h --max-depth=1