Docker命令相关

命令:

yum -y update

#安装 Docker
yum install docker -y

#启动 Docker
systemctl start docker.service
systemctl status docker.service

systemctl stop docker.service
systemctl start docker.service
systemctl restart docker.service
systemctl status docker.service

#安装常用工具
yum install iproute ftp bind-utils net-tools wget -y
其中:
iproute 用来执行 ip address 查看本机地址
ftp 用来测试ftp 服务器
bind_utils 用来运行 nslookup
net-tools 用来执行 netstate
wget 既是执行 wget的

#配置dns
nslookup www.baidu.com
vi /etc/resolv.conf 
# Generated by NetworkManager
search www.tendawifi.com
nameserver 119.29.29.29
nameserver 182.254.116.116
nslookup www.baidu.com

#配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://hvmf8r55.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

tail /etc/docker/daemon.json

#拉取镜像
docker pull how2j/tmall

#运行镜像
docker run -dit --privileged -p21:21 -p80:80 -p8080:8080 -p30000-30010:30000-30010 --name how2jtmall how2j/tmall:latest /usr/sbin/init
docker run 表示运行一个镜像
-dit 是 -d -i -t 的缩写。 -d ,表示 detach,即在后台运行。 -i 表示提供交互接口,这样才可以通过 docker 和 跑起来的操作系统交互。 -t 表示提供一个 tty (伪终端),与 -i 配合就可以通过 ssh 工具连接到 这个容器里面去了
--privileged 启动容器的时候,把权限带进去。 这样才可以在容器里进行完整的操作
-p21:21 第一个21,表示在CentOS 上开放21端口。 第二个21 表示在容器里开放21端口。 这样当访问CentOS 的21端口的时候,就会间接地访问到容器里了
-p80:80 和 21一个道理
-p8080:8080 和21 一个道理,在本例里,访问的地址是 http://192.168.84.128:8080/tmall/, 这个 192.168.84.128 是CentOS 的ip地址,8080是 CentOS 的端口,但是通过-p8080:8080 这么一映射,就访问到容器里的8080端口上的 tomcat了
-p30000-30010 和21也是一个道理,这个是ftp用来传输数据的
--name how2jtmall 给容器取了个名字,叫做 how2jtmall,方便后续管理
how2j/tmall:latest how2j/tmall就是镜像的名称, latest是版本号,即最新版本
/usr/sbin/init: 表示启动后运行的程序,即通过这个命令做初始化

#进入容器
docker exec -it how2jtmall /bin/bash

#检查端口
netstat -anp|grep 8080

#ip地址
ip address

仓库: 别人做好的现成的镜像,都放在仓库里
镜像: 自己要用哪个镜像,就先拉到本地来。镜像就相当于还没激活的容器。
容器: 容器就是跑起来的镜像,就是一个完整的工作环境

#镜像管理
docker search how2j
docker search tomcat
docker run -it --rm -p 8888:8080 tomcat:8.0
docker images
docker rmi docker.io/tomcat:8.0
docker tag docker.io/tomcat:8.0 docker.io/mytomcat:8.0
#删除全部镜像
docker rmi $(docker images -q) 

#容器管理
docker run -dit --privileged -p21:21 -p80:80 -p8080:8080 -p30000-30010:30000-30010 --name how2jtmall how2j/tmall:latest /usr/sbin/init
docker exec -it how2jtmall /bin/bash
docker commit how2jtmall how2j/tmall:now
暂停:pause
恢复:unpause
停止:stop
开始:start
docker ps -a
docker psdocker inspect how2jtmall
docker rm how2jtmall
#删除所有容器
docker rm `docker ps -a -q` -f

#提交镜像
注册账号https://hub.docker.com/signup
docker login
docker push how2j/tmall:latest

#DockerFile
DockerFile 与 commit一样,也是用于做镜像的。 与 commit 把现成的 容器转换为镜像不同的是, DockerFile 需要自己写脚本,一条一条地把最终镜像需要的内容撸进去~
#DockerFile命令
https://www.jianshu.com/p/10ed530766af

 

 

 

参考:

 

posted @ 2021-05-14 19:21  Alice的小屋  阅读(76)  评论(0编辑  收藏  举报