你應該學會的docker使用技巧

2021-12-28 Java面試那些事兒

最近有些小夥伴問我,「目前想玩Ubuntu系統,應該怎麼搭建一個高大上的開發環境呢?」;本文主要介紹我以前是怎麼搭建自己的Ubuntu開發環境。

最近有些小夥伴問我,「目前想玩Ubuntu系統,應該怎麼搭建一個高大上的開發環境呢?」;本文主要介紹我以前是怎麼搭建自己的Ubuntu開發環境。

最近有些小夥伴問我,「目前想玩Ubuntu系統,應該怎麼搭建一個高大上的開發環境呢?」;本文主要介紹我以前是怎麼搭建自己的Ubuntu開發環境。

最近有些小夥伴問我,「目前想玩Ubuntu系統,應該怎麼搭建一個高大上的開發環境呢?」;本文主要介紹我以前是怎麼搭建自己的Ubuntu開發環境。

題目:描述一下DNS域名解析的過程?

這是之前在簡書寫的一篇舊文;沒有讀過的小夥伴可以讀讀。

檢查curl包是否安裝?

which curl

如果curl沒有安裝的話,則先更新apt源,並安裝curl,如下:

apt-get updateapt-get install curlapt-get updatewget -qO- https://get.docker.com/ | sh

設置當前用戶為docker用戶組,便於解決每次執行docker命令時都需要輸入密碼。

# 添加一個新的docker用戶組groupadd docker# 添加當前用戶到docker用戶組裡,注意這裡的xxoo為ubuntu server登錄用戶名gpasswd -a xxoo docker# 重啟docker後臺監護進程service docker restart# 重啟之後,嘗試一下,是否生效docker version#若還未生效,則系統重啟,則生效reboot

啟動docker服務,如下:

service docker start

docker run hello-world

docker images

docker pull ubuntu:12.04

docker run -t -i ubuntu:12.04 /bin/sh

  說明:-i:表示以「交互模式」運行容器 -t:表示容器啟動後會進入其命令行。

mkdir sinatracd sinatra/touch Dockerfilevim Dockerfiledocker build -t="ouruser/sinatra:v2" .

docker start [stop| restart] xxx

docker ps -adocker save -o ubuntu.tar.gz ubuntu:14.04  *(保存的是所有這個鏡像的版本記錄,包括一些歷史數據.)*docker export pid > ./ubuntu.tar.gz  *(導出的是容器當前所用的鏡像內容)*

docker load < /tmp/mynewimage.tar *(docker save 的逆操作)*cat ubuntu.tar | docker import - test/ubuntu:v1.0 *( export 的逆操作)*

docker stop xxxdocker rm xxx

   說明:docker 的文件是放在 /var/lib/docker/containers/ 中的。

docker commit xxx abc

   說明:這裡保存成一個名叫 abc 的鏡像,鏡像名稱中只允許出現小寫字母和數字。

docker rmi abc

docker history abcdocker images --tree  *(查看所有鏡像的歷史過程)*

  說明:只能對本地存在的 docker 鏡像執行這個命令。

docker kill container

  說明:-s 「KILL」 自定義發送至容器的信號。

docker top container

  說明:也支持 ps 命令參數。

docker pause container

docker unpause container

docker tag image name

   說明:-f 覆蓋已有標記。

docker logs container

docker run -itd ubuntu:14.04 /bin/bashdocker attach 44fc0f0582d9

   說明:docker attach可以attach到一個已經運行的容器的stdin,然後進行命令執行的動作。但是需要注意的是,如果從這個stdin中exit,會導致容器的停止。

docker exec -i name /bin/sh

    只用-i時,由於沒有分配偽終端,看起來像pipe執行一樣。但是執行結果、命令 返回值都可以正確獲取。

docker exec -it name /bin/sh

   使用-it時,則和我們平常操作console界面類似。而且也不會像attach方式因為退出,導致整個容器退出。

docker exec -t name /bin/sh

    如果只使用-t參數,則可以看到一個console窗口,但是執行命令會發現由於沒有獲得stdin的輸出,無法看到命令執行情況。

docker exec -d name /bin/sh a.sh

     在後臺執行一個進程。可以看出,如果一個命令需要長時間進程,使用-d參數會很快返回。程序在後臺運行。

docker inspect 465c60612e5c

docker search mysqldocker pull mysqldocker run --name xmysql-db -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v /data/mysql_data/:/var/lib/mysql mysql

docker pull mongodocker run --name xmongo-db -p 27018:27017 -v /data/my_mongo_data:/data/db -d mongo

docker pull jenkinschown 1000 /data/jenkins_data/docker run --name xjenkins -d -p 9000:8080 -p 50000:50000 -v /data/jenkins_data:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --env JAVA_OPTS="-Xmx512m -XX:PermSize=256m -XX:MaxPermSize=1024m" -d jenkins

docker pull elasticsearchdocker run --name xelastic-search -d -p 9200:9200 -p 9300:9300 -v /data/esdata:/usr/share/elasticsearch/data elasticsearch

docker pull tomcatdocker run --name xtomcat -d -v /data/tomcat/webapps/:/usr/local/tomcat/webapps/ -p 8080:8080 -p 9001:9000 tomcat:8

docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui

docker pull webgoat/webgoat-7.1docker run --name xwebgoat -d -p 8080:8080 webgoat/webgoat-7.1

推薦公號

java版web項目「java_project」

簡介:專注網際網路熱點信息,java乾貨,行業最新技術視頻分享,我們的宗旨就是做全網最全最大的java視頻教免費平臺。我們有適合不同階段人群的乾貨。我們的平臺聚焦了幾萬的java高級程式設計師和架構師!

相關焦點

  • 10個日常Docker使用技巧
    docker使用技巧/ (點擊尾部閱讀原文前往)原文:https://dzone.com/articles/10-practical-docker-tips-for-day-to-day-docker-usa已獲轉載授權
  • 我到底應該使用哪個 CRI 替換 kubernetes 集群的 Docker?
    你填了嗎?那麼除了 docker 之外,我們還可以使用其他什麼 CRI 呢?下面是我已經測試的幾個 CRI,並進行一些基準測試來對他們進行了簡單的對比,希望對你有所幫助:對於 cri-o,已經測試了2個後端:runc 和 crun,以測試對 cgroupsv2 的影響。
  • 10 個冷門卻實用的Docker使用技巧
    在平時的工作中,docker 接觸得很多,除了經常使用的 docker run ,docker stop 等命令,docker 還有很多十分有用但是卻不經常使用的命令,下面就來總結一下:1. docker top這個命令是用來查看一個容器裡面的進程信息的,比如你想查看一個 nginx
  • Docker的安裝與使用
    如果你不想裝虛擬機,想直接在你的Windows作業系統中安裝與學習使用docker,那麼你首先得查看你的系統是否滿足Docker for Windows的安裝與使用要求。1. Docker for Windows的當前版本運行在64位Windows 10 Pro,專業版、企業版和教育版(1607年紀念更新,版本14393或更高版本)上。
  • Word使用技巧,學會這招,讓你減少損失!
    ①公眾號內推送的資源均免費分享,資源來源於網絡,版權歸原作者本人所有,僅供學習交流使用,所有下載的文件資源在24小時內必須刪除,所有的軟體資源版權歸原版權方或者開發者所有。如果您喜歡軟體並長期使用,請購買或下載官方正版。②軟體全部經過小編親測試用可行,但不能保證長期有效。③每期文章末尾都有資源下載方式。
  • 10 個冷門但又非常實用的 Docker 使用技巧
    在平時的工作中,docker 接觸得很多,除了經常使用的 docker run ,docker stop等命令,docker 還有很多十分有用但是卻不經常使用的命令,下面就來總結一下:1. docker top這個命令是用來查看一個容器裡面的進程信息的,比如你想查看一個 nginx
  • 一分鐘教你學會亞克力存放及使用技巧
    複合板只有表面很薄一層亞克力,中間是ABS塑料,使用中受熱脹冷縮影響容易脫層。真假亞克力,可從板材斷面的細微色差和拋光效果中去識別。亞克力作為一種化學有機產品,要保證其最後使用效果達到理想的狀態,日常儲存和拋光方法是很重要的,接下來誠誠就拋光和儲存兩個方面簡單介紹一些小的技巧,相信聰明的你一看就會。
  • Docker 圖形化頁面管理工具使用
    :/var/run/docker.sock abh1nav/dockerui前往網頁查看之前,你需要打開伺服器的9000埠:     firewall-cmd --permanent --zone=public --add-port=9000/tcpfirewall-cmd --reload
  • Python使用selenium操作Docker裡的Chrome瀏覽器的技巧
    介紹1.1 介紹今天福哥要帶著大家學習如何使用selenium去調用部署在Docker環境裡面的Chrome瀏覽器的方法。為什麼我們要把chromedriver部署到Docker裡面呢?因為把Chrome瀏覽器部署到Docker裡面有如下幾個優點:不用擔心Chrome升級導致的需要手動升級chromedriver驅動的問題。
  • 使用Docker Registry搭建Docker私有倉庫
    有時候使用 Docker Hub 這樣的公共倉庫可能不方便,並且公司的私有鏡像為了業務安全,也不會push到docker hub上,用戶可以創建一個本地倉庫供私人使用
  • 如何優雅使用Docker?請收下這15個小技巧.
    你可能需要一直用超級用戶來操作docker,就像早期示例裡一直提示的:# 添加docker用戶組$ sudo groupadd docker# 把自己加到docker用戶組中$ sudo gpasswd -a myusername docker# 重啟docker後臺服務$ sudo service docker restart# 註銷,然後再登陸$ exit
  • 使用 Node, Sequelize, Postgres 和 Docker 搭建 CURD API【譯】
    好消息是,通過使用Docker,您實際上不需要安裝它,因為我們將使用 Node 的 docker image,因此,我們也可以避免在我的機器上安裝的我的 Node 版本和你的之間進行版本控制POSTGRES
  • 使用Maven插件快速發布Docker鏡像
    在我們持續集成過程中,項目工程一般使用 Maven 編譯打包,生成、推送Docker鏡像,在伺服器上拉取Docker鏡像進行部署,這樣能夠大大提高上線效率,同時能夠快速動態擴容、快速回滾,非常方便。dockerfile-maven-plugin是Spotify組織開發的一款Maven插件,能夠幫助我們在Maven工程中,通過簡單的配置就能達到自動生成鏡像並推送到倉庫中的目的。該組織之前開發過另一款叫做docker-maven-plugin的Maven插件,能夠達到相同的目的,但是配置相對繁瑣一些,現在已經不推薦使用了。
  • 經驗總結 | Docker 使用筆記
    docker run ubuntu echo "helloworld"2、安裝 Docker-Composesudo curl -L "https://github.com/docker/compose/releases/download/1.23.2
  • Win10技巧:學會使用、關閉快速訪問
    周一:手機技巧;周二:電腦技巧;
  • Docker使用入門介紹
    Docker中關於鏡像的基本操作首先從官方註冊伺服器(hub.docker.com)的倉庫中pull下CentOS的鏡像,每個倉庫會有多個鏡像,用tag標示,如果不加tag,默認使用latest鏡像:[root@xxx ~]# docker search centos # 查看centos鏡像是否存在[root@xxx ~]# docker
  • 優化Docker 鏡像小技巧
    Docker構建是通過使用Docker CLI工具中的docker build命令觸發。docker build命令根據Dockerfile文件中指定的指令構建Docker鏡像。Dockerfile是一個文本文檔,其中包含用戶組裝鏡像所有的有序命令。Docker鏡像由只讀層組成。每層代表一個Dockerfile指令。這些層是堆疊在一起的,每個層都是上一層的增量。我認為這些層是緩存的一種形式。
  • 使用docker swarm 搭建docker集群
    Swarm 關鍵概念1)Swarm集群的管理和編排是使用嵌入到 docker 引擎的 SwarmKit,可以在 docker 初始化時啟動 swarm 模式或者加入已存在的 swarm通常,manager 節點也可以是 worker 節點,worker 節點會報告當前狀態給 manager 節點3)服務(Service)服務是要在 worker 節點上要執行任務的定義,它在工作者節點上執行,當你創建服務的時,你需要指定容器鏡像
  • 群暉docker套件深入詳解
    docker倉庫裡面有無數各種各樣的軟體可以給你使用,但是都是一些linux軟體被打包到docker裡面,還沒見到有windows軟體可以在docker裡面運行。2、下面我們用docker安裝transmission配合圖文,了解群暉docker套件的使用方法。
  • 使用插件擴展Docker
    它首先檢查所有定義在/run/docker/plugins下的Unix的socket接口。比如你的插件名字是myplugin,那麼對應的socket文件應該定義在如下位置: /run/docker/plugins/myplug.sock。