docker容器---安装部署使用及命令

安装部署

vim /etc/yum.repos.d/docker.repo
[docker]
name=docker-ce
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/
gpgcheck=0

在这里插入图片描述

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

在这里插入图片描述

vim CentOS-Base.repo
%s/$releasever/7/g

在这里插入图片描述

[root@server1 ~]# yum install docker-ce -y
[root@server1 ~]# systemctl enable --now docker
[root@server1 ~]# vim /etc/sysctl.d/docker.conf 
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
[root@server1 ~]# sysctl  --system
[root@server1 ~]# ip addr

在这里插入图片描述

[root@server1 ~]# docker search yakexi007
[root@server1 ~]# docker pull yakexi007/game2048
[root@server1 ~]# docker images

在这里插入图片描述

[root@server1 ~]# docker history yakexi007/game2048:latest #查看默认监听端口

在这里插入图片描述

[root@server1 ~]# docker run -d --name game -p 80:80 yakexi007/game2048

映射容器的端口到宿主机
在这里插入图片描述

docker ps	#查看运行的容器
docker ps -a	#查看所有容器

在这里插入图片描述

docker tag yakexi007/game2048:latest game2048:latest #改名
docker rmi yakexi007/game2048 #删除

在这里插入图片描述

共享宿主机的内核

docker pull busybox
docker run -it busybox

在这里插入图片描述
ctrl+d退出容器后资源会被释放,重新进入容器:

docker ps -a
docker start 42407e24e1b5 #数字为容器id
docker start 42407e24e1b5
docker container attach 42407e24e1b5


ctrl+pq退出 不会释放资源

在这里插入图片描述

删除已经退出的容器
docker rm 42407e24e1b5 dfa20765d14e
-f #强行删除

在这里插入图片描述

docker run -it --rm busybox #退出自动回收

在这里插入图片描述

docker run -it --name demo busybox
docker ps -a
docker commit -m "add files" demo demo:v1
docker images 
docker history demo:v1 
docker history busybox:latest 

在这里插入图片描述

docker rm dem #删除容器
docker rmi demo:v1 #删除镜像

在这里插入图片描述

mkdir docker
cd docker/
vim Dockerfile

FROM busybox
RUN touch file2
RUN mkdir westos
docker build -t demo:v1 .
docker history  demo:v1

在这里插入图片描述

docker rmi demo:v1
cd docker
vim Dockerfile
FROM busybox
RUN touch file1
COPY index.html /

[root@server1 docker]# vim index.html
[root@server1 docker]# docker build -t demo:v1 .
[root@server1 docker]# docker run -it --rm demo:v1

在这里插入图片描述

在这里插入图片描述
自动解压

[root@server1 docker]# tar zcf test.tar.gz /etc #生成压缩包
[root@server1 docker]# vim Dockerfile 
FROM busybox
RUN touch file1
COPY index.html /
ADD test.tar.gz /mnt
[root@server1 docker]# docker build -t demo:v2 .

在这里插入图片描述
ENV变量

[root@server1 docker]# vim Dockerfile 
ENV HOSTNAME server1
[root@server1 docker]# docker build -t demo:v3 .
[root@server1 docker]# docker run -it --rm demo:v3

在这里插入图片描述
端口

[root@server1 docker]# vim Dockerfile
EXPOSE 80
[root@server1 docker]# docker build -t demo:v4 .
[root@server1 docker]# docker history demo:v4

在这里插入图片描述

[root@server1 docker]# docker load -i nginx.tar
[root@server1 docker]# docker images
[root@server1 docker]# docker history nginx:latest
[root@server1 docker]# docker run -d --name demo -P nginx

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

VOLUME 卷

[root@server1 docker]# vim Dockerfile 
VOLUME ["/data"]
[root@server1 docker]# docker build -t demo:v5 .
[root@server1 docker]# docker history demo:v5

在这里插入图片描述

[root@server1 docker]# docker run -it --name demo demo:v5
/ # cd /data/
/data # touch kkk
/data # ctrl + pq 退出
[root@server1 docker]# docker inspect demo
[root@server1 docker]# cd /var/lib/docker/volumes/67f6593c1b4f5f083b9493fbc9d21802f668587c1434c6bbd1a259c4a213f557/_data
[root@server1 _data]# ls
[root@server1 _data]# rm -rf kkk
[root@server1 _data]# cp /etc/passwd .
[root@server1 _data]# docker attach demo
/data # ls

在这里插入图片描述
在这里插入图片描述

[root@server1 _data]# docker rm demo 
[root@server1 _data]# docker volume ls
[root@server1 _data]# docker volume prune
[root@server1 _data]# cd /var/lib/docker/volumes/
root@server1 volumes]# ls
删除卷之后之前的路径就不存在了

CMD

在这里插入图片描述

[root@server1 docker]# vim Dockerfile 
CMD echo "hello world"
[root@server1 docker]# docker build -t demo:v6 .

在这里插入图片描述

[root@server1 docker]# vim Dockerfile 
CMD echo "hello $HOSTNAME"
[root@server1 docker]# docker build -t demo:v7 .
[root@server1 docker]# docker run --rm demo:v7

在这里插入图片描述

也可以这样编辑
CMD ["/bin/sh", "-c" , "echo hello $HOSTNAME"]

输出为 hello server1

或者

[root@server1 docker]# vim Dockerfile 
ENTRYPOINT ["echo", "hello"]
CMD ["world"]
[root@server1 docker]# docker build -t demo:v8 .
[root@server1 docker]# docker run --rm demo:v8
[root@server1 docker]# docker run --rm demo:v8 aaa

ENTRYPOINT不能覆盖 CMD可以覆盖命令
在这里插入图片描述


删除不用的镜像

[root@server1 docker]# docker rmi `docker images | grep demo | awk '{print $1":"$2}'`

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值