docker常用命令及設(shè)置開(kāi)機(jī)自啟方式
docker常用命令及設(shè)置開(kāi)機(jī)自啟
常用基本命令
# 啟動(dòng)docker systemctl start docker # 停止dokcer systemctl stop docker # 查看docker狀態(tài) systemctl status docker # 重啟docker systemctl restart docker # 設(shè)置docker 開(kāi)機(jī)自啟 systemctl enable docker # 查看docker 版本 docker version # 查看docker 鏡像 docker images # 查看docker 運(yùn)行列表 docker ps # 查看docker (運(yùn)行、停止) docker ps -aq # 刪除容器 docker rm -f 容器ID/容器名稱(CONTAINER ID/NAMES) # 刪除多個(gè)容器(空格隔開(kāi)) docker rm -f 容器ID/容器名稱 容器ID/容器名稱 ... # 刪除全部容器 docker rm -f $(docker ps -aq)
設(shè)置docker開(kāi)機(jī)自啟
systemctl enable docker
設(shè)置容器自啟
1. 創(chuàng)建容器時(shí)設(shè)置:
docker run -d --restart=always --name 容器名稱 鏡像名稱 # 例如: docker run --restart=always 56f0b18af626
2. 更新已有容器設(shè)置:
docker update --restart=always 容器ID # 例如: docker update --restart=always 56f0b18af626
–restart具體參數(shù),詳見(jiàn)官方文檔
Policy | Result |
---|---|
no | Do not automatically restart the container when it exits. This is the default. 默認(rèn)設(shè)置,容器退出時(shí)不重啟容器。 |
on-failure[:max-retries] | Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts. 在容器非正常退出時(shí)重啟容器,最多重啟max-retries次。 |
always | Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. 總是重啟容器。 |
unless-stopped | Always restart the container regardless of the exit status, including on daemon startup, except if the container was put into a stopped state before the Docker daemon was stopped. 總是重啟容器,除非在Docker守護(hù)程序停止之前容器就處于停止?fàn)顟B(tài)。 |
docker及容器設(shè)置開(kāi)機(jī)自啟,并修改容器時(shí)間、編碼格式
服務(wù)器的機(jī)房,有時(shí)候需要關(guān)機(jī)重啟,進(jìn)行機(jī)房改造!
docker自啟動(dòng)
查看已經(jīng)啟動(dòng)的服務(wù)
systemctl list-units --type=service
如上圖,docker已經(jīng)啟動(dòng),
如果沒(méi)有啟動(dòng),就先執(zhí)行一下啟動(dòng)命令
systemctl start docker
查看docker是否設(shè)置了開(kāi)機(jī)自啟
systemctl list-unit-files | grep docker
如上圖,設(shè)置成功,如果沒(méi)有設(shè)置開(kāi)機(jī)自啟,就是disabled
設(shè)置開(kāi)機(jī)啟動(dòng)命令
systemctl enable docker.service
容器自啟動(dòng)
設(shè)置容器自啟動(dòng)有兩種方式,一個(gè)是在創(chuàng)建并啟動(dòng)容器時(shí),一種是在容器啟動(dòng)之后
創(chuàng)建并啟動(dòng)容器時(shí),添加--restart=always
docker run -d --restart=always --name demo -p 8080:8080 -v /home/java_backend/logs:/app/logs demo
容器啟動(dòng)之后,執(zhí)行如下命令
docker update --restart=always 容器名稱
修改容器時(shí)間
修改容器時(shí)間有三種方式:創(chuàng)建并啟動(dòng)容器時(shí)共享宿主機(jī)時(shí)間、啟動(dòng)之后的容器復(fù)制宿主機(jī)的時(shí)間、在Dockerfile中設(shè)置
1.創(chuàng)建并啟動(dòng)容器時(shí)共享宿主機(jī)時(shí)間,在啟動(dòng)命令中增加-v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro
docker run -d --restart=always --name demo -p 8080:8080 -v /home/java_backend/logs:/app/logs -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro demo
2.啟動(dòng)之后的容器復(fù)制宿主機(jī)的時(shí)間
docker cp /etc/localtime [containerId]:/etc/localtime docker cp /etc/timezone [containerId]:/etc/timezone
containerId 為要修改的容器id,注意需要重啟容器
3.在Dockerfile中設(shè)置
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
Dockerfile中添加如上命令即可
修改容器編碼格式
首先進(jìn)入容器查看當(dāng)前字符編碼
locale
查看本地?fù)碛械淖址幋a
locale -a
C.UTF-8可以支持中文,只需要把容器編碼設(shè)置為C.UTF-8即可(有的是zh_CN.UTF-8,不過(guò)我在本地沒(méi)發(fā)現(xiàn)這種編碼)
臨時(shí)修改字符編碼
設(shè)置字符編碼為C.UTF-8
export LANG=C.UTF-8
重新加載環(huán)境變量
source /etc/profile
永久修改
Dockerfile中添加命令
ENV LANG C.UTF-8
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker創(chuàng)建MongoDB容器并添加root密碼驗(yàn)證與更多用戶詳細(xì)步驟
MongoDB是一個(gè)著名的面向文檔的數(shù)據(jù)庫(kù),被許多現(xiàn)代Web應(yīng)用程序使用,下面這篇文章主要給大家介紹了關(guān)于Docker創(chuàng)建MongoDB容器并添加root密碼驗(yàn)證與更多用戶的相關(guān)資料,需要的朋友可以參考下2023-01-01Windows?Docker部署Kong網(wǎng)關(guān)的實(shí)現(xiàn)步驟
Kong是一個(gè)輕量級(jí)、快速、靈活的云原生API網(wǎng)關(guān),本文主要介紹了Windows?Docker部署Kong網(wǎng)關(guān)的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03使用Docker Compose創(chuàng)建LAMP環(huán)境的詳細(xì)步驟
現(xiàn)如今,通過(guò) Docker 容器化部署環(huán)境已經(jīng)逐漸成為主流,特別是在部署像 LAMP 這樣的復(fù)雜環(huán)境時(shí),本教程旨在帶您完成使用 Docker-Compose 建立 LAMP 環(huán)境的整個(gè)過(guò)程,同時(shí)還包括定制 PHP 環(huán)境的步驟,需要的朋友可以參考下2024-12-12使用docker compose搭建一個(gè)elk系統(tǒng)的方法
這篇文章主要介紹了使用docker-compose搭建一個(gè)elk系統(tǒng)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08把數(shù)據(jù)庫(kù)部署在docker容器內(nèi)有哪些缺陷
這篇文章主要介紹了把數(shù)據(jù)庫(kù)部署在docker容器內(nèi)有哪些缺陷,幫助大家更好的理解和學(xué)習(xí)docker容器和數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-08-08docker內(nèi)部容器之間的端口訪問(wèn)實(shí)現(xiàn)方法
alpine-client?與?alpine-server?兩容器,前者訪問(wèn)后者監(jiān)聽(tīng)之端口,以此探析?Docker?內(nèi)部容器間端口訪問(wèn)機(jī)制,這篇文章主要介紹了如何實(shí)現(xiàn)docker內(nèi)部容器之間的端口訪問(wèn),需要的朋友可以參考下2024-04-04Docker?制作tomcat鏡像并部署項(xiàng)目的步驟
這篇文章主要介紹了Docker?制作tomcat鏡像并部署項(xiàng)目?,講解如何制作自己的tomcat鏡像,并使用tomcat部署項(xiàng)目,需要的朋友可以參考下2022-10-10docker images,info,-d等命令報(bào)錯(cuò)的解決方法
最近剛接觸Docker,所以在學(xué)習(xí)的過(guò)程中出現(xiàn)了好多的問(wèn)題,百度上不好找,谷歌的話,樓主不會(huì)翻墻。后來(lái)通過(guò)各方求助和細(xì)心研究解決了一些遇到的問(wèn)題,現(xiàn)在將遇到的問(wèn)題和解決方法分享給大家,有需要的朋友們可以參考借鑒。2016-11-11