今天學習了一下docker

纯丿乱發表於2024-11-19

docker的啟動指令:
systemctl status docker
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl enable docker
docker version

---------------------------------------

檢視映象

docker search tomcat 搜尋tomcat的映象
docker pull tomcat 下拉tomcat
docker images 查詢當前下載的所有映象
docker ps 查詢當前執行的所有的容器
docker run -itd 映象名:版本號 新建一個容器,並執行這個容器
docker exec -it 容器ID /bin/bash 進入某個容器
docker save 映象名:版本 -o xxx.tar 儲存映象
docker load -i xxx.tar 載入映象

---------------------------------------
檢視容器

docker ps 查詢當前執行的容器
docker ps -a 查詢當前的所有的容器
docker start 容器ID 啟動某個容器
docker restart 容器ID 重啟某個容器
docker stop 容器ID 結束某個容器
docker exec -it 容器ID /bin/bash 進入某個容器
docker rm -f 容器ID 刪除某個容器

# 6. 容器匯出
docker export 容器ID > xxx.tar
# 7. 容器匯入
docker import xxx.tar xxx:tag

-----------------------

下面是安裝docker的指令哦。

yum install docker -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置映象源, 我們使用的是阿里雲的源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast #
安裝 Docker
yum install docker-ce docker-ce-cli containerd.io

配置映象源

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://ccr.ccs.tencentyun.com",
"https://wsb4u0xd.mirror.aliyuncs.com",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
EOF

重啟docker

sudo systemctl daemon-reload
sudo systemctl restart docker

------------------------------------------------

特殊指令介紹:

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: 表示啟動後執行的程式,即透過這個命令做初始化

相關文章